前言在 React 开发中如果不去管组件的重复渲染问题,项目稍微复杂一点性能将不堪入目,下面将介绍项目中最常见的例子及解决方案(仅 hooks 组件)。预先了解所用知识React.memoReact.useCallbackReact.useMemouseMemoizedFn(利用 ref + useMemo 配合单例模式实现比 useCallback 更加好用的 hook,下面会提,推荐尝试)没错,只需使用上面 4 点即可解决大多数组件重复渲染问题,而如何合理去使用呢?例 1: 父组件状态更新导致子组件无效渲染constParent=()=>{const[count,setCount]=useState(0);const[son1Count,setSon1Count]=useState(0);const[son2Count,setSon2Count]=useState(0);return({console.log("Parent render")}setCount((v)=>v+1)}>Parent+1setSon1Count((v)=>v+1)}>Son1+1setSon2Count((v)=>v+1)}>Son2+1Parent:{count});};constSon1=(props)=>{return({console.log("Son1 render")}Son1:{
...
继续阅读
(9)