React - useReducer в функции редуктора пользовательского хука не использует обновленное состояние - PullRequest
0 голосов
/ 22 апреля 2020

Итак, у меня есть пользовательский хук, макет выглядит примерно так:

const reducer = (state, action) => {
    console.log(state);

    /* transform state */

    return updatedState;
}

function useMyHook(init) {
    const [state, dispatch] = useReducer(reducer, {});

    /* Other hook stuff */

    return [state, dispatch, otherHookStuff];
}

При использовании в компоненте функция диспетчеризации работает сама по себе, она корректно обновляет состояние, и это состояние отражается правильно. в компоненте, но дальнейшая отправка не выполняется в обновленном состоянии, так что console.log в reducer всегда показывает {}. Я понятия не имею, что может происходить здесь, если только крюк редуктора не может быть использован внутри пользовательского крючка, что было бы нелогичным, если учесть все остальные ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...