В моем компоненте реакции я хотел бы выполнить несколько асин c действий. У меня есть что-то вроде этого
// action creator
const fetchUserContext = response => ({
type: ActionType.FETCH_USRE,
payload: response,
});
// in component
useEffect(() => {
async function fetchData () {
const userContext = await dispatch(fetchUserContext());
const shoppingInfo = await dispatch(fetchShoppingInfo(userContext.user_id));
}
fetchData();
}, []);
Это работает, но я чувствую, что имеет больше смысла получать userContext
информацию из избыточного хранилища, а не получать ее непосредственно от создателя действия. Я пытался что-то вроде следующего, но это не работает.
// in component
import { useSelector } from 'react-redux'
const userContext = useSelector(state => state.userContext);
useEffect(() => {
async function fetchData () {
await dispatch(fetchUserContext());
// it doesn't work since userContext is still undefined
const shoppingInfo = await dispatch(fetchShoppingInfo(userContext.user_id));
}
fetchData();
}, []);
Я не знаю, какой лучший / правильный способ сделать это. Заранее всем спасибо за помощь.