Redux 工具包 + Typescript:extraReducers
Redux toolkit + Typescript: extraReducers
我正在尝试将打字稿添加到我的 react/redux 项目中。
这是我的切片:
import { createSlice, createAsyncThunk, AnyAction, CaseReducer, PayloadAction } from '@reduxjs/toolkit';
export interface RequestStateBase {
failed: boolean;
executing: boolean;
initialLoad: boolean;
message: string | null;
errors: any[]
}
const handlePending = (state: RequestStateBase) => {
state.failed = false;
state.executing = true;
state.message = '';
}
const createCharacter = createAsyncThunk(
'character/new',
async (model: any) => characterClient.createCharacter(model)
);
const characterSlice = createSlice({
name: "character",
initialState: initialState,
reducers: {
cleanCharacterData: (state: CharacterState) => {
//...
},
//...
},
extraReducers: builder => {
builder.addCase(createCharacter.pending, handlePending),
//...
}
});
在 VS Code 中一切正常,但我在构建过程中遇到以下错误:
Line 78:9: Expected an assignment or function call and instead saw an expression @typescript-eslint/no-unused-expressions
第78行指的是builder.addCase(createCharacter.pending, handlePending)
如何解决?
删除该行之后的 ,
- 你可能想写 ;
.
逗号运算符不会在那里造成任何真正的伤害,但通常会导致意外行为 - 并且它似乎真的会激怒 JSHint。
我正在尝试将打字稿添加到我的 react/redux 项目中。 这是我的切片:
import { createSlice, createAsyncThunk, AnyAction, CaseReducer, PayloadAction } from '@reduxjs/toolkit';
export interface RequestStateBase {
failed: boolean;
executing: boolean;
initialLoad: boolean;
message: string | null;
errors: any[]
}
const handlePending = (state: RequestStateBase) => {
state.failed = false;
state.executing = true;
state.message = '';
}
const createCharacter = createAsyncThunk(
'character/new',
async (model: any) => characterClient.createCharacter(model)
);
const characterSlice = createSlice({
name: "character",
initialState: initialState,
reducers: {
cleanCharacterData: (state: CharacterState) => {
//...
},
//...
},
extraReducers: builder => {
builder.addCase(createCharacter.pending, handlePending),
//...
}
});
在 VS Code 中一切正常,但我在构建过程中遇到以下错误:
Line 78:9: Expected an assignment or function call and instead saw an expression @typescript-eslint/no-unused-expressions
第78行指的是builder.addCase(createCharacter.pending, handlePending)
如何解决?
删除该行之后的 ,
- 你可能想写 ;
.
逗号运算符不会在那里造成任何真正的伤害,但通常会导致意外行为 - 并且它似乎真的会激怒 JSHint。