Итак, у меня есть пользовательский хук, макет выглядит примерно так:
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
всегда показывает {}
. Я понятия не имею, что может происходить здесь, если только крюк редуктора не может быть использован внутри пользовательского крючка, что было бы нелогичным, если учесть все остальные ...