[10 MINS/DAY] 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 可以跳过更新

你可能感兴趣的:(javascript,前端,react.js)