这份文档我试图解释我心中的 react 模式,试图去推导我们这么设计的一些原则。可能有些地方会有争议而且例子的设计可能也有问题,不过这仅仅是个开始。
Transformation
React的核心前提即是改变了jQuery这种以DOM操作为核心到以数据流驱动为核心,View是不同的数据的投射。并且对于数据的处理函数应该是纯函数,即相同的输入有相同的输出而不会产生其他副作用:
Abstraction(抽象)
对于一个复杂的UI,肯定不能全都塞到一个函数里处理,这就是React另一个重要的思想,将UI抽象拆分为多个可重用的部分,并且各个部分要对上层隐藏实现细节,便如下面这样的进行函数调用:
Composition(组合)
为了达到真正意义上的重用目标,并不仅仅就是把那个叶子组件组合进一个新的容器,我们也需要在容器中构建出能够组合其他抽象组件的抽象组件。这里我认为的组合要点在于如何把两个或者更多的抽象组件合并成一个新的: