Контекст
У меня много действий в форме: LOAD_XYZ
, LOAD_XYZ_FAIL
, LOAD_XYZ_SUCCESS
для различных элементов страницы, которые необходимо загрузить.
Мне часто хочетсявыполнить перенаправление (react-router
) после загрузки какого-либо элемента, но так как redux-observable
не возвращает обещание, я не могу выполнить перенаправление в своем компоненте - но вместо этого я должен сделать это, используя redux
и push('...')
изreact-router-redux
.
Это, к сожалению, приводит к большому дублированию, поскольку у меня есть LOAD_XYZ
и LOAD_XYZ_REDIRECT_TO
версии одного и того же действия, плюс две эпопеи для каждого.
Это начинаетчувствую себя расточительным и слишком избыточнымЧтобы избежать избыточности и необходимости реализовывать несколько версий одного и того же эпоса.
Например, вместо этого я хотел бы иметь отдельное действие REDIRECT_TO
, которое я могу выполнить после загрузки элемента.
Что-то вроде этих (воображаемых) решений:
dispatch(fetchUser(...)).then(redirectTo("..."))
dispatchSequence(fetchUser(...), redirectTo("..."))
Я знаю, redux-thunk
может это сделать, но тогда я пропускаю все операторы rxjs.