React作为构建用户界面的前端库(View Library),现在已经成为各大公司的技术栈一员,我们组内也早已着手基于React来构建项目,有幸从零开始开发了一些页面,有了一些自己的想法。当使用React来构建一个web页面的时候,我都在思考什么?
这里仅以一个简单的web page为栗,暂且抛开使用Reat-router或Redux的单页应用不说。

概览

  • 前言:组件之间的通信
  • 抽象state(数据流的清晰)
  • 抽取组件(组件划分结构合理,高可复用性)
  • 实现组件(组件类型?实现细节?规范?极端情况处理)
  • 各司其职(React能与不能)
  • 性能优化(shouldComponentUpdate)
  • 还能做些什么?

注:原则上建立在数据(state)存放在顶层组件管理,由props将数据层层传递到底层组件,这样做的好处是逻辑上利于分析,数据流保持相应的清晰,也能够保证底层子组件最大程度的复用(后面会说到)

前言:组件之间的通信

React中并没有类似Angular中的双向绑定功能,所以在开始之前,让我们先探讨一下React组件之间的通信。