官术网_书友最值得收藏!

What other direction is there?

The best way to visualize unidirectional data flow is in a top-down fashion. Data starts in one state at the top, changes state as it flows downward, ending with a side-effect that does something with the data. When this is enforced as a property of the architecture, side-effects are predictable. We can easily trace the starting point of data, through the transformations it makes, ending with the visible side-effect.

When we don't enforce a unidirectional data flow, it's difficult to trace cause and effect. This is the main reason that Facebook started promoting the concept with the creation of Flux—to prevent components from changing state at will and passing the changed state on to another component. For example, let's say that you aren't using immutable data, and that one component changes its state in response to an event. Then some other component that references this state renders itself, causing its state to change as a result of the first change. These are nothing more than uncontrolled side-effects.

Immutable.js is a low-level library compared to the ideas of Flux or a UI component library such as React. Even if you're not using either of these, you can still leverage Immutable.js to build a unidirectional architecture.

主站蜘蛛池模板: 衡东县| 西吉县| 仙居县| 锦州市| 松溪县| 徐水县| 三河市| 阿克苏市| 抚远县| 卓尼县| 荣昌县| 奉新县| 双辽市| 天水市| 腾冲县| 三门县| 江北区| 勃利县| 桃源县| 航空| 阜康市| 宁南县| 额尔古纳市| 关岭| 林甸县| 来凤县| 岫岩| 张家口市| 慈利县| 项城市| 丰顺县| 清苑县| 琼结县| 施秉县| 绵阳市| 保亭| 安塞县| 延川县| 江陵县| 张家港市| 盘山县|