如何在typescript中设置redux reducer的初始状态?
我正在获取此类型脚本错误属性“hasError”在类型“”上不存在。“(状态:ErrorType |未定义,操作:ErrorActionType)=>ErrorType”。我认为这是对设置减速器初始状态的抱怨如何在typescript中设置redux reducer的初始状态?,typescript,redux,redux-reducers,Typescript,Redux,Redux Reducers,我正在获取此类型脚本错误属性“hasError”在类型“”上不存在。“(状态:ErrorType |未定义,操作:ErrorActionType)=>ErrorType”。我认为这是对设置减速器初始状态的抱怨 import { ErrorType, ErrorActionType } from '../actions'; import { ActionTypes } from '../types'; export const errorReducer = ( state: ErrorTyp
import { ErrorType, ErrorActionType } from '../actions';
import { ActionTypes } from '../types';
export const errorReducer = (
state: ErrorType = { hasError: false, errorMessage: '' },
action: ErrorActionType
) => {
switch (action.type) {
case ActionTypes.setError:
return action.payload;
default:
return state;
}
};
这是我的行动
import { Dispatch } from 'redux';
import { ActionTypes } from '../types';
export interface ErrorType {
hasError: boolean;
errorMessage: string;
}
export interface ErrorActionType {
type: ActionTypes.setError;
payload: ErrorType;
}
export const setError = (hasError: boolean, errorMessage: string) => {
return (dispatch: Dispatch) => {
dispatch<ErrorActionType>({
type: ActionTypes.setError,
payload: { hasError, errorMessage },
});
};
};
import { combineReducers } from 'redux';
import { errorReducer } from './error';
import { loadingReducer } from './loading';
import { newsReducer } from './news';
import { schoolsReducer } from './schools';
import { StoreStateType } from '../types';
export const reducers = combineReducers<StoreStateType>({
isLoading: loadingReducer,
hasError: errorReducer.hasError,
errorMessage: errorReducer.errorMessage,
news: newsReducer,
schools: schoolsReducer,
});
export interface StoreStateType {
isLoading: boolean;
hasError: boolean;
errorMessage: string;
news: NewsType[];
schools: SchoolType[];
}