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
相关推荐
CrystalShaw41 分钟前
[AI codec]opus-1.6\DRED 编码侧 学习笔记
笔记·学习
张张123y43 分钟前
RAG从0到1学习:技术架构、项目实践与面试指南
人工智能·python·学习·面试·架构·langchain·transformer
Shi_haoliu1 小时前
openClaw源码部署-linux
前端·python·ai·openclaw
·醉挽清风·1 小时前
学习笔记—Linux—文件IO
linux·服务器·学习
Accerlator1 小时前
计算机网络学习
学习·计算机网络
程序员小寒1 小时前
前端性能优化之白屏、卡顿指标和网络环境采集篇
前端·javascript·网络·性能优化
星爷AG I1 小时前
14-12 动作序列学习(AGI基础理论)
人工智能·学习·agi
烛阴2 小时前
Claude CLI AskUserQuestion 工具详解:让 AI 开口问你
前端·claude
澄澈青空~2 小时前
Unity3D VR 游戏开发 — 技术路线与学习路线完整大纲
学习·vr
wal13145202 小时前
OpenClaw教程(九)—— 彻底告别!OpenClaw 卸载不残留指南
前端·网络·人工智能·chrome·安全·openclaw