当前位置: 首页 > news >正文

山西建设厅网站查不了做响应式的网站

山西建设厅网站查不了,做响应式的网站,东莞网站优化效果如何,深圳软件开发文章目录 React.memo两种方式参数应用场景 拓展useMemouseMemo(calculateValue, dependencies) 参考资料 React.memo React 的渲染机制,组件内部的 state 或者 props 一旦发生修改,整个组件树都会被重新渲染一次,即时子组件的参数没有被修改&…

文章目录

  • React.memo
    • 两种方式
    • 参数
    • 应用场景
  • 拓展
    • useMemo
      • useMemo(calculateValue, dependencies)
  • 参考资料

React.memo

React 的渲染机制,组件内部的 state 或者 props 一旦发生修改,整个组件树都会被重新渲染一次,即时子组件的参数没有被修改,甚至无状态组件
会造成性能浪费

React.memo 是 React 官方提供的一个高阶组件,用于缓存我们的需要优化的组件

React 中的组件被设计为在状态或 props 值发生变化时重新渲染。但是,这可能会影响应用程序的性能,因为即使更改只是为了影响父组件,附加到父组件的所有其他子组件都将重新呈现。当父组件重新渲染时,其所有子组件也会重新渲染。
React Memo 是一个高阶组件,它包装组件以记忆渲染的输出并避免不必要的渲染。这提高了性能,因为它会记住结果并跳过渲染以重用上次渲染的结果。

已经记忆化的组件,怎么触发更新

  • 即使一个组件被记忆化了,当它自身的状态发生变化时,它仍然会重新渲染。memoization 只与从父组件传递给组件的 props 有关。
  • 即使组件已被记忆化,当其使用的 context 发生变化时,它仍将重新渲染。记忆化只与从父组件传递给组件的 props 有关。
  • useMemo
    • 见拓展(下面)
  • 自定义比较函数(见Memo参数-第二个参数,下面)

两种方式

  • 直接创建(类式创建)
    const myComponent = React.memo((props) => {/* render using props */
    });
    export default myComponent;
    
  • 函数组件
    const myComponent = (props) => {/* render using props */};export const MemoizedComponent = React.memo(myComponent);

仅当 props 值发生变化或组件的状态和上下文发生变化时,memo组件才会重新渲染

参数

React.memo(Component, arePropsEqual?)

  • Component
    组件
  • arePropsRqual
    可选参数,为一个函数
    接受两个参数:

    一个函数,接受两个参数:组件的前一个 props 和新的 props。如果旧的和新的 props 相等,即组件使用新的 props 渲染的输出和表现与旧的 props 完全相同,则它应该返回 true。否则返回 false。通常情况下,你不需要指定此函数。默认情况下,React 将使用 Object.is 比较每个 prop。

function MyComponent(props) {/* 使用 props 渲染 */
}
function shouldMemo(prevProps, nextProps) {/*如果把 nextProps 传入 render 方法的返回结果与将 prevProps 传入 render 方法的返回结果一致则返回 true,否则返回 false*/
}
export default React.memo(MyComponent, shouldMemo);

应用场景

  • 当props没有改变时跳过重新渲染

  • 使用state更新记忆化(memoized)组件

切记,不可以普遍使用该组件,不能都进行缓存,太多缓存,会造成负优化

拓展

useMemo

useMemo(calculateValue, dependencies)

在组件的顶层调用 useMemo 来缓存每次重新渲染都需要计算的结果,它在每次重新渲染的时候能够缓存计算结果

    const cachedValue = useMemo(calculateValue, dependenies)
  • calculateValue
    要缓存计算的函数。之后组件更新,如果dependenies没有发生变化,React将直接返回相同值。否则,将会再次调用calculateValue并返回最新结果,然后进行缓存以便下次进行使用。
  • dependenies
    跟一般钩子的依赖项作用一样

参考资料

官网
掘金

http://www.yayakq.cn/news/181170/

相关文章:

  • 昆明做网站猫咪科技松江网站建设平台
  • 什么是网站的权重seo案例模板
  • wordpress gif动画微博seo排名优化
  • 怎么做网站推广多少钱有限公司网站建设 中企动力佛山
  • 龙岗网站制作设计企业网站建设要多少钱
  • 网站开发过程分为哪几个阶段最简洁wordpress主题
  • 长春网站建设推广优化成都专业建网站公司
  • 网站做动态和静态哪个贵无锡网站建设原则
  • 山西公司网站开发wordpress安装百度站长资源平台
  • 域名备案网站备案工具类网站怎么优化seo
  • 网站收录了怎么做排名远程wordpress数据库备份
  • 关于建设工程招标的网站建设网站的情况说明书
  • 农村网站建设的意义wordpress html 代码
  • 客户网站建设完成后需要什么wordpress亿级数据库
  • 网站二级域名怎么设置培训机构停课
  • 精美网站设计欣赏嘿嘿嘿你懂我意思正能量
  • 慈溪网站制作哪家最好备案期间网站能打开吗
  • 养猪网站建设规划书百度seo如何优化
  • 襄阳市作风建设年 网站网站建设毕设
  • 网站建设平台杭州诸暨 外贸网站建设
  • 辽宁阜新建设学校官方网站外贸入门基本知识
  • 校园网上超市网站建设推广网站姐姐做床戏网站
  • 网站名字怎么取最好seo公司 引擎
  • 手机网站模板 html商城服务是怎么赚钱
  • 北京汇云世纪网络科技有限公司做网站怎么样福田欧曼汽车官网
  • 揭阳网站建设工作兰州微商城搭建
  • 学校网站建设工作会议网站建设开票应该开哪个行业
  • 白城百度网站建设著名营销策划公司
  • 如何搭建网站做哪方面的网站好呢
  • 滁州seo公司网站人多怎么优化