У меня есть пользовательский хук, использующий useReducer
.
function useMyCustomHook() {
const [state, dispatch] = useReducer(EntityReducer, initialState);
// console.log(state); // 1- state is up to date here
const customDispatch = (action) => {
dispatch({ ...action }); // first call EntityReducer by action.type
//2- I use state and dispatch here(for example:use state for call an api, then dispatch response)
// but the state is previous not new state?
switch (action.type) {
case "something":
// use dispatch and state here
return state;
}
}
return [state, customDispatch];
}
, использующий пользовательский хук:
function HomePage(props) {
const [state, dispatch] = useMyCustomHook();
// for example use dispatch on click a button
return (<div>...</div>)
}
Проблема: state
- это прежнее состояние внутри customDispatch
. Как я могу это исправить?
Заранее спасибо.