useReducer 调度后如何获取状态?

Mik*_*yev 5 reactjs react-hooks

有没有办法在派送后获得更新的状态?

想象一下,我正在尝试编写一些从上下文中获取状态的钩子(其中值是 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 /> ;
}

Run Code Online (Sandbox Code Playgroud)

提前感谢您的任何意见和想法

PS 出于描述目的,这个例子只是我脑子里的第一个愚蠢的事情。