gpt4 book ai didi

react-redux - Immutable.js 更新 Map 中的多个键值

转载 作者:行者123 更新时间:2023-12-04 03:05:10 25 4
gpt4 key购买 nike

我正在尝试使用 Immutable.js。所以我使用了 Map 对象,并且我有一个 2 个字段作为例子。

const initialState = Map({
isUserAuthorized : false,
pending : false
});

我想更新两者。我怎么能做到这一点?我尝试使用这样的标准 Update 方法:
state.update( "isUserAuthorized", () => true, "pending", () => false);

但它以某种方式不起作用。所以我只有一个想法 - 只更新特定的键,然后对其他键执行相同操作并返回结果。

但我认为这是一个不那么完美的想法。也许存在其他正常变体?谢谢你的帮助!

附言我发现它可以通过 完成集 withMutations 喜欢:
initialState.withMutations(map => {
map.set("isUserAuthorized", true).set("pending", false);
})

但是在 Map 中更新多个值真的有那么难吗?

最佳答案

您可以使用 .set() :

const initialState = Map({
isUserAuthorized : false,
pending : false
});

initialState = initialState.set('isUserAuthorized', true);
initialState = initialState.set('pending', false);

如果不想重复的话。您可以创建一个函数来传递多个参数。

另一种方法是使用 .merge() :
const newState = initialState.merge({
isUserAuthorized: true,
pending: false
});

或者链接多个集合:
initialState = initialState.set('isUserAuthorized', true)
.set('pending', false)
.set('key3', 'value3');

关于react-redux - Immutable.js 更新 Map 中的多个键值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41671986/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com