gpt4 book ai didi

Redux Toolkit - 将整个数组分配给 state

转载 作者:行者123 更新时间:2023-12-04 16:39:39 28 4
gpt4 key购买 nike

如何使用 RTK 将整个数组分配给我的 intialState 对象?
state = payloadstate = [...state, ...payload]不更新任何东西。
例子:

const slice = createSlice({
name: 'usersLikedPosts',
initialState: [],
reducers: {
getUsersLikedPosts: (state, { payload }) => {
if (payload.length > 0) {
state = payload
}
},
},
})
有效载荷如下所示:
[
0: {
uid: '1',
title: 'testpost'
}
]
更新
这样做有效,但我不知道这是否是正确的方法。任何人都可以评论吗?
payload.forEach((item) => state.push(item))

最佳答案

immer只能观察对最初通过 state 传入您的函数的对象的修改争论。如果该变量被重新分配,则无法从函数外部观察,因为它仅存在于函数内的作用域中。
但是,您可以仅 return如果您更喜欢,则可以使用新值而不是修改旧值。 (在这种情况下,它的性能可能比执行一堆 .push 调用要高一点)
所以

return [...state, ...payload]
应该做你想做的。

关于Redux Toolkit - 将整个数组分配给 state,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63516226/

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