首页 > 解决方案 > 将 Redux Toolkit 与 Typescript 一起使用时,我应该为常规的“无负载”操作使用什么类型?

问题描述

当我的操作需要时,这是我为切片缩减器所做的事情payload

import { createSlice, Action, PayloadAction } from "@reduxjs/toolkit";

type SOME_ACTION = PayloadAction<{ value: string }>

const SOME_SLICE = createSlice({
  name: "SOME_SLICE",
  initialState: getInitialState(),
  reducers: {
    SOME_ACTION(state, action: SOME_ACTION) {
      const { value }  = action.payload;
      state.someProp = value;
    }
  }
});

但是我的一些操作目前不需要payload. 尽管他们现在不需要它,但将来可能会这样做。所以我想为动作添加一些类型,即使我目前没有在减速器中使用动作。

import { createSlice, Action, PayloadAction } from "@reduxjs/toolkit";

type SOME_ACTION = ???         // WHAT SHOULD I TYPE A "Payload-less" ACTION?

const SOME_SLICE = createSlice({
  name: "SOME_SLICE",
  initialState: getInitialState(),
  reducers: {
    SOME_ACTION(state, action: SOME_ACTION) {
      // CURRENTLY action IS NOT BEING USED HERE. BUT MIGHT BE IN THE FUTURE
      state.loading = true;
    }
  }
});

PayloadAction<void>是答案吗?

标签: typescriptreduxredux-toolkit

解决方案


推荐阅读