javascript - 如何在 redux-toolkit 中输入 'prepare' 函数

标签 javascript typescript redux redux-toolkit redux-actions

我正在使用 redux-toolkit prepare 函数来构建最终的有效负载值。

    addTodo: {
      reducer: (state, action) => {
        state.push(action.payload);
      },
      // ERROR: **Type '{ payload: Todo; }' is missing the following properties from type 'Omit<PayloadAction<any, string, any, any>, "type">': meta, errorts**
      prepare: (todoMessage: string): { payload: Todo } => {
        return {
          payload: { message: todoMessage, id: uuid(), completed: false }
        };
      }
    },

如何键入 prepare 函数来消除 typescript 错误?

检查错误here .

最佳答案

    addTodo: {
      reducer: (state, action: PayloadAction<Todo>) => {
        state.push(action.payload);
      },
      prepare: (todoMessage: string) => {
        return {
          payload: { message: todoMessage, id: uuid(), completed: false }
        };
      }
    },

您只需要在action 上添加一个负载类型。

关于javascript - 如何在 redux-toolkit 中输入 'prepare' 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72486092/

相关文章:

angular - 如何在 Ionic/Cordova 中实现 promise

javascript - 为什么在 angularjs 中 $http.post 的成功或错误回调函数没有正确执行

javascript - 无法使用其他值填充其他下拉菜单 - Javascript

javascript - 在 Angular 2 中提交发布请求时的奇怪行为

javascript - 当路线改变时 react 获取数据

javascript - 如何将 Redux 4.0 TypeScript 绑定(bind)与 redux-thunk 结合使用

redux - Redux中的 Action 是否应该始终是唯一的?

javascript - AngularJs ui-router ui-sref 未使用参数从嵌套状态生成 href

javascript - 在 : Losing type of object when passed from Array? 中

angular - 这是在 angularfire2 中使用 rxjs MergeMap 的正确方法吗?