react-redux:state.setIn()和state.set()有什么区别?

Matthias M:

我已经在一些react-redux代码中看到了setInt()和set()的用法:

state.setIn(...);
state.set(...);

我在这里https://facebook.github.io/immutable-js/找到了一些文档,但是不幸的是该方法没有详细记录。

我还发现了其他一些问题:通过Immutable.js使用React的不可变帮助器,但是这些并不能回答我的问题。

我了解,它必须做一些不变的事情吗?但是这里不变的是什么?set()和setIn()有什么区别?为什么我们需要不变的?

危险的:

不可变set方法仅设置直接属性,即对象的直接子级。一个setIn让你设置任何深节点下的数据值。set仅使用属性名称。setIn接受键/索引的数组以深入到嵌套的元素。

var basket = Immutable.Map({"milk":"yes", "flour":"no"});

basket = basket.set("flour", "yes");

basket = Immutable.Map({"fruits":{"oranges":"no"}, "flour":"no"});

basket = basket.setIn(["fruits", "oranges"], "yes");

getIn/ setIn在商店更新状态时,你可以使用通用的行动,并提供关键路径的子组件的方法是非常有用的。他们可以调用将路径作为参数传递的动作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

React Native和React之间有什么区别?

React Native和React之间有什么区别?

在React中,onChange和onInput有什么区别?

React 16中的hydrate()和render()有什么区别?

React中的state和props有什么区别?

React Native和Flutter有什么区别?

react-router 4.0,react-router-dom和react-router-redux有什么区别?

React中的ForwardRefExoticComponent和ForwardRefRenderFunction有什么区别?

React Native中的alignItems和alignSelf有什么区别?

getDefaultProps和getInitialState react js有什么区别

react-router-redux中的“ push”方法和react-router中的“ browserHistory”之间有什么区别?

React事件和DOM事件有什么区别?

在React / React Native中使用构造函数vs state = {}有什么区别?

在Laravel工厂中,“ state”和“ defineAs”有什么区别?

react-form和redux-form有什么区别?

React Native-setState和setNativeProps有什么区别?

React Hooks:“ useMutationEffect”和“ useLayoutEffect”有什么区别?

state.sls和state.apply有什么区别?

React和Express中的路由之间有什么区别

JavaScript函数和React钩子有什么区别?

react render在'<Toolbar />'和'{Toolbar()}'有什么区别?

NextJs和Create React App有什么区别

React组件中的key和id有什么区别?

-m conntrack --ctstate和-m state --state有什么区别

在 React-Navigation params 和 Redux State 中直接存储数据的区别

React-Redux 中 mapStateToProps 中的 state 参数是什么

useContext 和 Redux 有什么区别?

React、ReactJS 和 React Native 之间有什么区别?

@State 和 @StateObject 有什么区别