react笔记2

https://github.com/FE-star/2018.1/issues/24

https://www.w3cplus.com/javascript/the-inner-workings-of-virtual-dom.html


react 动态(运行时或者编译时)类型检查--propsType

TypeScript ? flow?是静态时类型检查?



受控组件,不受控组件,(能不能用state去控制?这样表达?)



setState有时是异步的,有时是同步的?

多个组件setState,如果同步就会有问题,异步才合理



在一个组件里执行forceUpdate,并不一定导致其子组件强制刷新

shouldComponentUpdate,无法阻止forceUpdate

父组件的componentDidMount一定在所有子组件componentDidMount执行后才执行

在componentDidUpdate里直接执行setState会让组件死循环



react生命周期



react diff算法:

1分层对比,

2.当有key时,会基于key匹配,否则按顺序匹配;匹配比较然后替换

如上图放入一个null



3.根据key在组件里做映射??

//diff源码:

https://github.com/Matt-Esch/virtual-dom/blob/master/vtree/diff.js



渲染分为首次渲染和再次渲染

再次渲染会对比patch,生成完后再一次性渲染(一次性执行所有patch)



pure component?

shouldComponentUpdate //浅比较

pure component 搭配不可变数据,如何减轻它的创建??

{this.props.items.map(i => )}



Stateless Component     functional Component

Functional Component性能是最低的

Container Component 包含逻辑处理,不可复用

Presentational components 重用率很高

ppHOC 高阶组件

@ppHOC装饰器


要了解这是啥玩意儿

不要在render里面写HOC,否则会疯狂重绘




React 数据流 用Flux ,Rudex,DVA,Mobx?

redux 异步还有redux-saga,redux-thunk,redux-oberserver

你可能感兴趣的:(react笔记2)