У меня есть действие userAction
, которое будет вызывать API для загрузки данных из базы данных, и я хочу использовать эти данные в отдельном действии calcAction
, чтобы я мог публиковать в API данные из userAction
, но когда я вызываю getState()
в calcAction
я получаю начальное состояние. Как мне убедиться, что getState()
получит состояние только после того, как userAction
загрузит данные из базы данных?
Мой calcReducer
выглядит так:
export const getAllCharReq = () => (dispatch, getState) => {
const { userData } = getState();
axios.post('/api/character', userData).then((res) => {
dispatch({
type: GET_ALL_CHAR_REQ,
payload: res.data,
});
});
};
userAction
вызывается в компоненте приложения, чтобы он загружал пользовательские данные при первом доступе к веб-сайту. И calcAction
вызывается в componentDidMount()
дочернего компонента, поэтому я могу получить соответствующие данные только при доступе к компоненту. Так что это проблема только в том случае, если пользователь сначала загружает этот дочерний компонент. Если пользователь перейдет к этому дочернему компоненту, то будет загружен userData
.