Как получить состояние после отправки useReducer? - PullRequest
2 голосов
/ 06 апреля 2019

Есть ли способ получить обновленное состояние после отправки?

Представьте себе, что я пытаюсь написать какой-то хук, который получает состояние из контекста (где значение является результатом useReducer), отправляет действие в зависимости от состояния и возвращает обратно обновленное:

const useHook = (state, dispatch) => {
    if (state.flag) {
        dispatch({
            type: `UNSET_FLAG`,
        })
    } else {
        dispatch({
            type: `SET_FLAG`,
        })
    }
}

const Foo = () => {
    const [state, dispatch] = useContext(MyContext);

    useHook(state, dispatch);

    return state.flag ? <Flagged /> : <Unflagged /> ;
}

Заранее спасибо за любые комментарии и идеи

P.S. в целях описания пример - только первая глупость из моей головы.

...