Asa*_*son 3 redux react-redux redux-toolkit
我正在使用 Redux Toolkit 的createSlice(). 并尝试创建一个减速器,将外部源的数据填充到 redux 状态。我试图通过在操作负载中传入一个对象来更新整个状态:
.
reducers: {
populateData: (state, action) => {
state = action.payload
}
.
Run Code Online (Sandbox Code Playgroud)
但只有当我为每个对象键创建一个减速器时它才会起作用。有没有办法一次性完成这一切?
这是一个常见的误解,实际上我昨天刚刚写了一个新的“使用 Immer 编写减速器”文档页面来回答这个问题。引用一下:
一个常见的错误是尝试分配
state = someValue directly. 这是行不通的!这仅将局部状态变量指向不同的引用。这既不会改变内存中现有的状态对象/数组,也不会返回全新的值,因此 Immer 不会进行任何实际更改。
相反,您需要:return action.payload,它将完全替换现有状态。
| 归档时间: |
|
| 查看次数: |
864 次 |
| 最近记录: |