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

  • Mastering Immutable.js
  • Adam Boduch
  • 211字
  • 2021-07-08 10:30:04

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.

主站蜘蛛池模板: 张北县| 保亭| 闸北区| 调兵山市| 咸阳市| 招远市| 眉山市| 镇雄县| 陇南市| 武强县| 霍山县| 宿州市| 措勤县| 马尔康县| 织金县| 东莞市| 康定县| 叙永县| 济阳县| 浦江县| 石台县| 专栏| 雷山县| 衡南县| 章丘市| 松桃| 胶州市| 瑞安市| 加查县| 涟水县| 麻江县| 昌平区| 蓬莱市| 禄丰县| 扬中市| 亚东县| 教育| 汝南县| 当雄县| 晋城| 西林县|