Я привязываю метод к кнопке внутри хука useEffect, и метод внутренне использует состояние. Но я не получаю обновленное состояние внутри метода для привязки, а получаю значение состояния как initialSate
Если я вытаскиваю код из ловушки useEffect, все работает нормально, но не уверен, что это правильный путь.
function Test() {
const initialState = { name: ''}
const reducer = () => {...}
const [state, dispatch] = useReducer(reducer, initialState);
const save = (): void => {
...
const { name } = state;
// here i am getting state value as the initialState and not the
// updated state value
...
}
useEffect(() => {
...
bindActionToButton(button, save);
...
}, []);
}
Метод save привязан к событию click кнопки. При нажатии кнопки значение состояния внутри состояния должно быть обновленным значением состояния, но я получаю значение в качестве значения initalState. Если я вызываю тянуть код за пределами useEffect, все работает нормально.