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

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

Data is only created

Let's revisit the visualization of data flowing from top to bottom, ending with a side-effect. Along the way, we're either changing the state of data with persistent changes, or we're shaping the data that we need using sequence transformations. From the beginning to the end of this flow, we're only creating new data.

The chained Immutable.js collection method calls result in new data—every time. This means that if we make a mistake and accidentally try to use data in a way that falls outside of the unidirectional flow that we're following, Immutable.js will protect us from ourselves. When this happens, the result is often a broken application that doesn't work. This is better than a half-working application that has mutability bugs hidden deep inside of it.

For example, suppose that we call set() on an immutable map to set a value, expecting that simply calling this method would be enough to change the state of the map. But since the set() method is a persistent change, it doesn't change the map—it creates and returns a new map. So while we weren't expecting this behavior, it's better than accidentally changing the state of something.

主站蜘蛛池模板: 云龙县| 丹江口市| 高要市| 三都| 临澧县| 浦城县| 彰化市| 广东省| 庆阳市| 海丰县| 新郑市| 华宁县| 璧山县| 岳阳县| 巴塘县| 邯郸县| 云霄县| 化州市| 达州市| 灵寿县| 顺昌县| 民县| 新邵县| 阳江市| 商河县| 荔浦县| 隆回县| 临海市| 金堂县| 玉山县| 金湖县| 西贡区| 双流县| 浦东新区| 右玉县| 德惠市| 台南县| 电白县| 四子王旗| 健康| 曲阜市|