Oli*_*ins 14 javascript immutable.js
不幸的是,文档很稀疏:
https://facebook.github.io/immutable-js/docs/#/Map/getIn
有人有例子吗?我猜如果我有一个像这样的myObject:
a: {
b:{
c:"banana"
}
}
Run Code Online (Sandbox Code Playgroud)
那
myObject.getIn(["a","b","c"])
将返回香蕉.
但是,不可变对象也可以是映射对象,这让我彻底迷茫.
Jev*_*eni 30
不久:
map.getIn(["a", "b", "c"]) 是一个快捷方式 map.get("a").get("b").get("c")
详情如下:
你可能已陷入其中一个fromJS陷阱.致电:
const map = Immutable.fromJS({a: {b: {c: "banana"}}});
Run Code Online (Sandbox Code Playgroud)
创建一个Map只有键a,其值也是一个Map只有键b,其值也Map只有键c和值banana.
与其他词fromJS进入所提供的对象的深,并定义Map为每个Object和一个List用于每个Array
在这个例子中,调用map.getIn(["a", "b", "c"])是一种快捷方式map.get("a").get("b").get("c")
但是如果你定义map为Map:
const map = new Immutable.Map({a: {b: {c: "banana"}}});
Run Code Online (Sandbox Code Playgroud)
它创建了一个Map,只有key a,它的值是普通对象{b: {c: "banana"}},并且调用a map.get("a").get("b").get("c")会抛出类似的东西get is not a function,因为它map.get("a")会返回{b: ...}普通对象.
同样的原因是为什么map.getIn(["a", "b", "c"])不能像你期望的那样工作.
| 归档时间: |
|
| 查看次数: |
13522 次 |
| 最近记录: |