如何在动作创建器React Typescript Redux中返回所需的类型

ljo96ir5  于 2022-11-12  发布在  React
关注(0)|答案(1)|浏览(142)

我有一个问题。先看看我的代码:

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)中看到的是:这是对象,我需要,但我不能得到他的领域:

dtcbnfnu

dtcbnfnu1#

您需要使用useDispatch挂钩。https://react-redux.js.org/api/hooks#usedispatch

const dispatch = useDispatch();

然后调度登录操作。

dispatch(login(email.value, password.value));

也不需要等待何时分派操作。

相关问题