У меня есть машинописный проект, основанный на реакции + редуксе с сохранением редукса. Я пытаюсь найти способ правильно набрать действие REHYDATE из redux-persist. При регулярном действии я использую шаблон, описанный в документах о реактивной редукции:
interface IEditSuccess extends Action<CustomActionTypes.EDIT_SUCCESS> {
edited: IEvent;
}
type IEditFailure = Action<CustomActionTypes.EDIT_FAILURE>;
export type CustomActions = IEditSuccess | IEditFailure;
Это работает хорошо, однако есть проблема, когда я использую действие REHYDATE в редукторе от redux-persist - оно явно не включено в CustomActions. Я обнаружил, что работает добавление другого типа действия к экспортированному типу CustomActions:
interface IPersistorAction extends Action<'persist/REHYDRATE'> {
payload: any;
}
export type CustomActions = IEditSuccess | IEditFailure | IPersistorAction;
Кажется, работает, компилятор TypeScript не выдаст никаких ошибок, однако мне интересно, есть ли лучший / правильный способ сделать это. Я пытался найти решение по разным источникам в интернете и по переполнению стека, но безуспешно. Любая помощь будет принята с благодарностью.