乐趣区

关于javascript:10-MINSDAY-React-lifecycle-3

getDerivedStateFromProps()

  • 静态方法
  • render 办法被调用前调用,用于初始挂在和子组件更新
  • 返回一个对象用于更新 state,或者 null 表时什么都不更新
  • 无权拜访组件实例
  • Use cases: state 的值在任何时候都取决于 props

render()

  • Class 组件中惟一必须实现的办法
  • Render 查看 this.propsthis.state 的变动并返回:React 元素,数组或者 Fragment, Portals, 字符串,数值,布尔值或者 null。
  • 为纯函数,不与浏览器交互,state 不变状况下,返回的值相等。
  • shouldComponentUpdate() 返回 false 时,render() 不会被调用。

shouldComponentUpdate()

  • 判断 React 组件的输入是否受以后 state 或 props 更改的影响。
  • 默认行为是 state 每次发生变化组件都会从新渲染。大部分状况下,你应该遵循默认行为。
  • 会在渲染执行之前被调用
  • 仅作为性能优化而存在。不要希图依附此办法来“阻止”渲染
  • 能够将 this.propsnextProps 以及 this.statenextState 进行比拟,并返回 false 以告知 React 能够跳过更新
退出移动版