我有一个问题。先看看我的代码:
export const login = (email: string, password: string) => {
return async (dispatch: Dispatch<UserAction>) => {
try {
dispatch({type: UserActionTypes.FETCH_USER})
const response = await axios.post<IUser>('http://localhost:8080/auth/signIn', {email, password})
dispatch({type: UserActionTypes.FETCH_USER_SUCCESS, payload: response.data})
return response.data
}catch (e) {
dispatch({
type: UserActionTypes.FETCH_USER_ERROR,
payload: 'Произошла ошибка при загрузке пользователя'
})
}
}
}
这是我的操作创建器,我在其中验证用户。
let principal = await login(email.value, password.value)
console.log(principal)
在这里我尝试获得响应,我在action creator中返回,我得到的不是我需要的,我不能得到我需要的字段。
但我在控制台console.log(principal)
中看到的是:这是对象,我需要,但我不能得到他的领域:
1条答案
按热度按时间dtcbnfnu1#
您需要使用
useDispatch
挂钩。https://react-redux.js.org/api/hooks#usedispatch然后调度登录操作。
也不需要等待何时分派操作。