Peu:
map.getIn(["a", "b", "c"])
est un raccourci vers map.get("a").get("b").get("c")
détails:
Vous avez probablement obtenu dans l'un des pièges fromJS
. Appel:
const map = Immutable.fromJS({a: {b: {c: "banana"}}});
crée un Map
avec seulement a
clé, sa valeur est aussi un Map
avec seulement b
clé, qui est aussi une valeur est Map
avec seulement la clé c
et la valeur banana
.
Avec d'autres mots fromJS
va dans la profondeur de l'objet fourni et définit Map
pour chaque Object
et un List
pour chaque Array
Avec cet exemple, l'appel map.getIn(["a", "b", "c"])
est une sorte de raccourci vers map.get("a").get("b").get("c")
mais si vous définissez map
comme Map
:
const map = new Immutable.Map({a: {b: {c: "banana"}}});
il crée une carte, avec seulement la clé a
, dont la valeur est l'objet plaine {b: {c: "banana"}}
, et appelant un map.get("a").get("b").get("c")
vous jettera quelque chose comme get is not a function
, puisque map.get("a")
retournera {b: ...}
objet simple.
Les mêmes raisons sont pourquoi map.getIn(["a", "b", "c"])
ne fonctionnera pas comme vous pouvez vous y attendre.