React基础

设计模式:

Flux架构:单向数据流     衍生状态管理框架  Redux Mobx

React基础

受控组件与非受控组件

   React基础

组件数据状态管理原则(dry--不要做重复的数据状态保存)

    能计算得到的状态不要单独存储

    组件尽量无状态,所需数据通过props获取

 

JSX语法糖

    React基础

生命周期及其使用场景

React基础    

constructor   初始化内部状态  可以直接修改state

getDerivedStateFromProps   state需要从props初始化时使用(尽量不要用)  每次render都会调用

shouldComponentUpdate  状态变化时是否更新组件   可控的     返回false则不更新组件   使用场景: 用于性能优化

getSnapshotBeforeUpdate   在render前调用(state已更新)   使用场景:获取render之前的DOM状态   

      例如:每秒弹出新消息提醒  想看历史消息时会滚动条会自动滚动     可以在getSnapshotBeforeUpdate 获取节点的滚动高度  在componentDidUpdate时 计算更新的滚动高度 主动改变scrollTop的值   新消息来的时候无缝查看旧消息值

React基础

componentWillUnmount   使用场景:释放资源时使用