React全家桶-当使用React新建一个页面的时候我都在思考什么?(三)
2017年5月11日
React作为构建用户界面的前端库(View Library),现在已经成为各大公司的技术栈一员,我们组内也早已着手基于React来构建项目,有幸从零开始开发了一些页面,有了一些自己的想法。当使用React来构建一个web页面的时候,我都在思考什么?
这里仅以一个简单的web page为栗,暂且抛开使用Reat-router或Redux的单页应用不说。
概览
- 前言:组件之间的通信
- 抽象state(数据流的清晰)
- 抽取组件(组件划分结构合理,高可复用性)
- 实现组件(组件类型?实现细节?规范?极端情况处理)
- 各司其职(React能与不能)
- 性能优化(shouldComponentUpdate)
- 还能做些什么?
注:原则上建立在数据(state)存放在顶层组件管理,由props将数据层层传递到底层组件,这样做的好处是逻辑上利于分析,数据流保持相应的清晰,也能够保证底层子组件最大程度的复用(后面会说到)
前言:组件之间的通信
React中并没有类似Angular中的双向绑定功能,所以在开始之前,让我们先探讨一下React组件之间的通信。