如何使用对象传播Redux.js / Toolkit

Kostya Tresko

我正在尝试在我的项目中实现@ reduxjs / toolkit,目前我正面临使用散布运算符的问题

const initialState: AlertState = {
  message: '',
  open: false,
  type: 'success',
};

const alertReducer = createSlice({
  name: 'alert',
  initialState,
  reducers: {
    setAlert(state, action: PayloadAction<Partial<AlertState>>) {
      state = {
        ...state,
        ...action.payload,
      };
    },
  },
});

将状态分配给新对象时,我的商店不会更新。但是如果我将reducer更改为代码

state.message = action.payload.message || state.message;
state.open = action.payload.open || state.open;

但这不是很方便。那么有没有办法使用传播算子?

法林斯基

在这种情况下,您应该改为从函数返回新对象:

    setAlert(state, action: PayloadAction<Partial<AlertState>>) {
      return {
        ...state,
        ...action.payload,
      };
    },

您可以在docs中查看更多示例另外,请注意:

您需要确保更改state参数或返回新状态,但不能同时

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用SharpDX Toolkit绘制透明的3D对象?

来自分类Dev

如何只在Template :: Toolkit中编译模板?

来自分类Dev

如何使用dart_web_toolkit设置元素位置?

来自分类Dev

如何使用JavaScript将LatlngBounds对象传递给Node.js服务器

来自分类Dev

如何使用Template Toolkit打印递归数据结构?

来自分类Dev

从@ reduxjs / toolkit使用configureStore时如何重置Redux Store的状态?

来自分类Dev

使用redux-toolkit创建简单的选择器功能

来自分类Dev

如何在Redux Toolkit reducer中替换整个状态?

来自分类Dev

如何在Redux Toolkit的createSlice中使用Redux-Thunk?

来自分类Dev

在reduceer中未触发redux-toolkit操作

来自分类Dev

如何使用Redux Toolkit(带有TypeScript)解决类型“ AsyncThunkAction”中缺少“属性”类型的问题?

来自分类Dev

Redux-Toolkit createAsyncThunk Dispatch显示为未定义

来自分类Dev

使用Redux-Toolkit处理错误

来自分类Dev

Redux Toolkit-重置状态

来自分类Dev

React-TypeScript-Redux-Toolkit:无法获取嵌套的api

来自分类Dev

Redux-toolkit类型'AsyncThunkAction'上不存在属性'then'

来自分类Dev

Redux Toolkit中的getState()方法

来自分类Dev

使用Redux Toolkit和Typescript反应可观察的史诗

来自分类Dev

WebStorm中的Redux-toolkit操作参数

来自分类Dev

将索引对象添加到Redux商店(Redux Toolkit)的最佳方法是什么?

来自分类Dev

打字稿中的redux-toolkit createAction()类型定义

来自分类Dev

Redux Toolkit历史API推送

来自分类Dev

如何使用Redux-Toolkit重置Redux Store

来自分类Dev

如何使用Redux Toolkit来运行同一代码的多个案例?

来自分类Dev

Redux-saga和redux-toolkit返回空对象并安慰响应,显示了诺言{<pending>}

来自分类Dev

如何使用Dojo Toolkit将JSON对象映射到表单?

来自分类Dev

如何只在Template :: Toolkit中编译模板?

来自分类Dev

如何使用dart_web_toolkit设置元素位置?

来自分类Dev

如何使用JavaScript将LatlngBounds对象传递给Node.js服务器

Related 相关文章

  1. 1

    如何使用SharpDX Toolkit绘制透明的3D对象?

  2. 2

    如何只在Template :: Toolkit中编译模板?

  3. 3

    如何使用dart_web_toolkit设置元素位置?

  4. 4

    如何使用JavaScript将LatlngBounds对象传递给Node.js服务器

  5. 5

    如何使用Template Toolkit打印递归数据结构?

  6. 6

    从@ reduxjs / toolkit使用configureStore时如何重置Redux Store的状态?

  7. 7

    使用redux-toolkit创建简单的选择器功能

  8. 8

    如何在Redux Toolkit reducer中替换整个状态?

  9. 9

    如何在Redux Toolkit的createSlice中使用Redux-Thunk?

  10. 10

    在reduceer中未触发redux-toolkit操作

  11. 11

    如何使用Redux Toolkit(带有TypeScript)解决类型“ AsyncThunkAction”中缺少“属性”类型的问题?

  12. 12

    Redux-Toolkit createAsyncThunk Dispatch显示为未定义

  13. 13

    使用Redux-Toolkit处理错误

  14. 14

    Redux Toolkit-重置状态

  15. 15

    React-TypeScript-Redux-Toolkit:无法获取嵌套的api

  16. 16

    Redux-toolkit类型'AsyncThunkAction'上不存在属性'then'

  17. 17

    Redux Toolkit中的getState()方法

  18. 18

    使用Redux Toolkit和Typescript反应可观察的史诗

  19. 19

    WebStorm中的Redux-toolkit操作参数

  20. 20

    将索引对象添加到Redux商店(Redux Toolkit)的最佳方法是什么?

  21. 21

    打字稿中的redux-toolkit createAction()类型定义

  22. 22

    Redux Toolkit历史API推送

  23. 23

    如何使用Redux-Toolkit重置Redux Store

  24. 24

    如何使用Redux Toolkit来运行同一代码的多个案例?

  25. 25

    Redux-saga和redux-toolkit返回空对象并安慰响应,显示了诺言{<pending>}

  26. 26

    如何使用Dojo Toolkit将JSON对象映射到表单?

  27. 27

    如何只在Template :: Toolkit中编译模板?

  28. 28

    如何使用dart_web_toolkit设置元素位置?

  29. 29

    如何使用JavaScript将LatlngBounds对象传递给Node.js服务器

热门标签

归档