import { ApiResult } from 'api/...'; import { FooAction, FETCH_PENDING, FETCH_FULFILLED, FETCH_REJECTED, } from './example.action-types.ts'; export interface State { data: ApiResult | null; //... } const initialState: State = { data: null, //... }; export default (state = initialState, action: FooAction): State => { switch (action.type) { case FETCH_PENDING: return { ...state, //... }; case FETCH_FULFILLED: return { ...state, data: action.payload, }; case FETCH_REJECTED: return { ...state, //... }; default: return state; } };