Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Redux不';t使用dispatch调用另一个函数_Javascript_Reactjs_Redux - Fatal编程技术网

Javascript Redux不';t使用dispatch调用另一个函数

Javascript Redux不';t使用dispatch调用另一个函数,javascript,reactjs,redux,Javascript,Reactjs,Redux,在redux thunk中调用dispatch后,调用函数时出现问题。它调用常规函数,如“console.log”,但忽略上面声明的函数。我陷入了困境,不知道如何解决这个问题 行动 export const loadUser = () => async (dispatch) => { if(localStorage.token) { setAuthToken(localStorage.token) } try { const

在redux thunk中调用dispatch后,调用函数时出现问题。它调用常规函数,如“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(loadUser());

@KirillKosheev真棒!我大部分时间都在和Redux摔跤