Самый простой подход, который я могу придумать, - это обернуть это ответное сообщение (я предполагаю, что это строковое значение) в интерфейсе.
Таким образом, всякий раз, когда вы фиксируете ошибку, вы создаете новый объект-оболочку в следующем порядке:чтобы проверка равенства для этого свойства состояния всегда была ложной.
Что-то вроде:
interface ErrorWrapper {
message: string;
}
export const string ERROR = "[Error] Something just exploded";
class ErrorCapturedAction implements Action {
readonly type = ERROR;
constructor(public readonly payload: ErrorWrapper){}
}
export type Actions = ErrorCapturedAction;
interface State {
error: ErrorWrapper | null;
}
initialState: State = {error = null};
reducer(state = initialState, action: Actions): State {
switch(action.type){
...
case ERROR:
const error = action.payload;
return {...state, error};
...
}
}