React基础
设计模式:
Flux架构:单向数据流 衍生状态管理框架 Redux Mobx
受控组件与非受控组件
组件数据状态管理原则(dry--不要做重复的数据状态保存)
能计算得到的状态不要单独存储
组件尽量无状态,所需数据通过props获取
JSX语法糖
生命周期及其使用场景
constructor 初始化内部状态 可以直接修改state
getDerivedStateFromProps state需要从props初始化时使用(尽量不要用) 每次render都会调用
shouldComponentUpdate 状态变化时是否更新组件 可控的 返回false则不更新组件 使用场景: 用于性能优化
getSnapshotBeforeUpdate 在render前调用(state已更新) 使用场景:获取render之前的DOM状态
例如:每秒弹出新消息提醒 想看历史消息时会滚动条会自动滚动 可以在getSnapshotBeforeUpdate 获取节点的滚动高度 在componentDidUpdate时 计算更新的滚动高度 主动改变scrollTop的值 新消息来的时候无缝查看旧消息值
componentWillUnmount 使用场景:释放资源时使用