重定向 React Redux 操作文件中的 401 错误



因此,如果服务器根据我建立的用户身份验证后端以 401 未经授权的响应响应响应,我将尝试重定向用户。目前,我正在向服务器发送请求,以检查用户是否与我正在检查的项目匹配。如果它们不匹配,则返回 401 未授权响应。但是我无法在我的操作文件的 .catch(err( 语句中正确重定向它们。

我已经尝试了几种不同的解决方案,堆栈溢出搜索,谷歌搜索,教程,但仍然无法获得我想要的结果。我也尝试安装不同的软件包无济于事。

这是我的操作文件。.catch(err( 是我想在返回 401 错误时将用户重定向到的地方。

// Get Single Score
export const getScore = (id, history) => dispatch => {
    dispatch(setScoreLoading());
    axios
        .get(`score/${id}`)
        .then(res => 
            dispatch({
                type: GET_SCORE,
                payload: res.data
            })
        )
        .catch(err => 
            dispatch({
                type: SCORE_NOT_FOUND,
                payload: err.response.data
            })
            history.push('/not-authorized')
        );
}

任何帮助将不胜感激。

我认为问题是你的箭头函数. 你直接使用 => 它会返回你的调度,但永远不会触及你的历史记录。

.catch(err => {dispatch({ 类型: SCORE_NOT_FOUND, payload: err.response.data }) 返回 history.push('/not-authorized'( )}希望这有帮助。顺便说一句,在我看来,在这种情况下使用历史.替换更好

相关内容

最新更新