react进阶
2018-03-20 本文已影响58人
Jocelyn_Long
参看react中文文档的react高级指南
JSX
只是React.createElement(component, props, ...children)的语法糖
PropTypes
可以利用propTypes进行内容检查,但是由于性能问题。只在开发模式下使用,后续有需求再去研究,先不做了解。
静态参数检查
一般大型项目都采用Flow或者Typescript。后续需要使用时在看。
refs 和Dom
可以利用refs来取得dom对象。后续使用细看,目前只是有个概念。
不受控组件
利用refs配合表单元素可以快速对接react。defaultValue可以设置不受控组件默认值。需要在使用中探索。
不使用ES6
将ES6语法利用ES5替代,需要的时候再细看。
不使用JSX
所有的JSX都是React.createElement(component, props, ...children)的语法糖
一致性比较(reconciliation)
react树的对比算法,目前知识有点了解,需要使用后再回头看看。
上下文(context)
不熟悉redux的不建议使用- -实验性API。等需要用的时候再看存不存在吧。
片段(fragments)
对于处理表格或列表来说是个很好的解决方案。fragment中只有key属性。
插槽(portals)
portal可以将子元素挂载在任意dom元素中。而且可用事件冒泡做更高级的抽象(事件冒泡这一块需要了解)
错误边界(Error Boundaries)
react16的新概念。定义了componentDidCatch(error, info)的新生命周期方法。
错误边界 无法 捕获如下错误:
- 事件处理 (了解更多)
- 异步代码 (例如 setTimeout 或 requestAnimationFrame 回调函数)
- 服务端渲染
- 错误边界自身抛出来的错误 (而不是其子组件)
目前还在了解概念阶段,都只是简单了解。后续有所体会再来接着补充。如果真的使用react开发的话。应该要说的很多都在进阶这一块里面。