React 学习——React.memo(简单、引用类型的prop)

  1. 传递一个简单类型的prop,prop变化时组件重新渲染

  2. 传递一个引用类型的prop,比较的是新值和旧值的引用是否相等;当父组件的函数重新执行时,实际上形成的是新的数组引用;

保持引用稳定->useMemo 组件渲染的过程中缓存一个值

javascript 复制代码
import {  memo, useMemo, useState } from 'react';

const MemoSon = memo(function Son({count,list}){
  console.log('子组件渲染',count);
  return <div>子组件</div>
})

const App = () => {
  const [count, setCount] = useState(0);//简单类型
  // const list = [1,2,3,4,5];//引用类型
  const list = useMemo(()=>{  //缓存,子组件就不会跟着重新渲染了
    return [1,2,3,4,5];
  },[])
  return (
    <div className="home">
      {/* count={count} */}
     <MemoSon list={list} />
     <button onClick={() => setCount(count + 1)}>+{count}</button>
    </div>
  )
}

export default App
相关推荐
恋猫de小郭17 小时前
罗技鼠标因为服务器证书过期无法使用?我是如何解决 SSL 证书问题
android·前端·flutter
Sailing17 小时前
AI 流式对话该怎么做?SSE、fetch、axios 一次讲清楚
前端·javascript·面试
白兰地空瓶17 小时前
聊聊那个让 React 新手抓狂的“闭包陷阱”:Count 为什么永远是 0?
react.js
橙露17 小时前
Vue3 组件通信全解析:技术细节、适用场景与性能优化
前端·javascript·vue.js
扉间79817 小时前
lightrag嵌入思路
前端·chrome
l040904422217 小时前
想学习VLN相关的知识,并亲手搭建一套系统,该如何入手?
学习
toooooop817 小时前
Vuex Store实例中`state`、`mutations`、`actions`、`getters`、`modules`这几个核心配置项的区别
前端·javascript·vue.js
LYFlied17 小时前
Rust代码打包为WebAssembly二进制文件详解
开发语言·前端·性能优化·rust·wasm·跨端
OpenTiny社区17 小时前
历时1年,TinyEditor v4.0 正式发布!
前端·javascript·vue.js
time_rg17 小时前
深入理解react——1. jsx与虚拟dom
前端·react.js