javascript - Redux 不会通过调度调用另一个函数

标签 javascript reactjs redux

在 redux-thunk 中调用调度后,我在调用函数时遇到问题。它调用“console.log”等常规函数,但忽略上面声明的函数。我被困住了,不知道如何解决这个问题。

操作

export const loadUser = () => async (dispatch) => {
    if(localStorage.token) {
        setAuthToken(localStorage.token)
    }

    try {
        const res = await axios.get('/auth')

        dispatch({
            type: USER_LOADED,
            payload: res.data
        })
    } catch(err) {
        dispatch({
            type: AUTH_ERROR
        })
    }
}


export const login = (formData) => async(dispatch) => {
    const config = {
        headers: {
            'Content-Type' : 'application/json'
        }
    }

    try {
        const res = await axios.post('/auth', formData, config)

        dispatch({
            type: LOGIN_SUCCESS,
            payload: res.data
        })

        loadUser() // THIS FUNCTION IS IGNORED
        console.log('test') // but this one is called.
    } catch(err) {
        dispatch({
            type: LOGIN_FAIL,
            payload: err.response.data.msg
        })
    }
}```

最佳答案

loadUser() 返回一个 thunk,因此您需要分派(dispatch)它:

dispatch(loadUser());

关于javascript - Redux 不会通过调度调用另一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60609908/

相关文章:

javascript - 使用 react-redux 绑定(bind)事件处理程序 prop

javascript - Redux Thunk 尝试返回 promise

javascript - 对于使用 React context API 来说这是一个好的设计吗

javascript - 为什么要将 D3 源代码复制到 Angular 服务中?

javascript - 将 HTML 表的每一行放入不同的数组中

javascript - 处理 React 和 material-ui 中菜单项列表的点击

javascript - 通过单击动态 react 渲染另一个表行

javascript - Bootstrap 数据网格设计

javascript - Pixlr API 集成

javascript toLocaleTimeString 2-digit only second or minute 不起作用