• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

05-reactsetState,react性能优化

武飞扬头像
是云呀!
帮助1

为什么使用setState

我们直接修改state中数据,数据会被修改,但react监听不到,就不会重新渲染页面

我们必须通过setState告诉react数据已经发生改变

setState函数是从Component中继承过来的

setState异步更新

学新通

 为什么设计异步

学新通

 如何获得异步的结果

方法一,setState的第二个参数

学新通

 方法二,componentDidUpdate

学新通

 setState一定是异步吗?

学新通

 setState数据的合并

当你使用setState时,有没有想过会吧state中数据覆盖掉

答:不会,是合并

学新通

 setState本身合并

学新通

学新通 react更新机制

学新通

 React在props或state发生改变时,会调用React的render方法,会创建一颗不同的树

 React需要基于这两颗不同的树之间的差别来判断如何有效的更新UI:

如果完全比较两棵树,算法复杂程度为O(n)的3次方,成本太大

react做了优化

学新通

学新通

 keys的优化

学新通

嵌套组件中 render函数的调用

学新通

学新通 

shouldComponentUpdate生命周期函数

决定要不要重新调用render

学新通

 类PureComponent

类组件继承PureComponent就行了,PureComponent类帮我们实现了在shouldComponentUpdate中判断

学新通

学新通

学新通
高阶函数memo

学新通

state数据不可变性

直接修改state不进行scu优化

学新通

 直接修改的问题

学新通

推荐方法

学新通

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgikbfk
系列文章
更多 icon
同类精品
更多 icon
继续加载