【发布时间】:2021-07-19 22:36:57
【问题描述】:
我正在像这样使用createSlice:
import { createSlice, PayloadAction } from '@reduxjs/toolkit';
const initialState = {} as Order;
const order = createSlice({
name: 'order',
initialState,
reducers: {
setOrder: (_state, { payload }: PayloadAction<Order | null>) => payload,
},
});
我收到以下错误:
Type 'SalesOrder | null' is not assignable to type 'void | SalesOrder | WritableDraft<SalesOrder>'. Type 'null' is not assignable to type 'void | SalesOrder | WritableDraft<SalesOrder>'.ts(2322)
当我将鼠标悬停在函数上时,我得到以下类型:
function(_state: WritableDraft<SalesOrder>, { payload }: PayloadAction<SalesOrder | null>): SalesOrder | null
我该如何解决这个问题?我希望值为Order 或null。
【问题讨论】:
-
由于
payload可能为空,我将在setOrder正文中添加一个条件if (payload) return payload
标签: reactjs typescript redux redux-toolkit