【问题标题】:How to use UseEffect every time get user and axios?每次获取用户和axios时如何使用UseEffect?
【发布时间】:2021-08-27 10:31:03
【问题描述】:

我使用 MERN 堆栈和 redux。我有两个问题,请帮助我。
1) 每个组件都有反应我添加这个:

const user = useSelector( state => state.user );
  useEffect( ()=>{
     dispatch(User_Auth(12)) ; // I write 12 for action work. 
  });

无论用户是否登录,我都想每次都获取用户数据。这是真的吗?或者有什么想法?

2) 如果我使用 200 个状态码发送当前数据,则在后端。另一个变体我发送数据的其他状态是这样的:

router.get('/auth', (req, res) => {
    if(req.isAuthenticated()){
        req.user.isAuth = true;
        res.status(200).json(req.user);
    }
    else{
        return res.status(401).json({
            isAuth: false
        });
    }
});

这是我获取用户数据的操作:

export const User_Auth =   (value) => async (dispatch) => {
    value = value + 0;
    await axios({
        method: "GET",
        url:'http://localhost:3001/api/users/auth',
        withCredentials:true
    })
    .then(res => {
        
        dispatch({type: user_auth, payload: res.data});
    }).catch(error => {
        // console.log("Auth geldim: ", error);
    });
}

如果在 console.log 浏览器中看不到错误,我想要。我可以这样做吗? 谢谢

【问题讨论】:

  • 我不确定这个问题。这对我来说有点模糊。你能简单解释一下你想要什么
  • 我希望在控制台选项卡 chrome 中看不到错误。例如,如果后端发送 401 http 状态错误,我只看到控制台日志选项卡,但我可以在使用 axios catch 时清除它
  • 您的意思是要从您的代码中清除控制台数据吗?
  • 我想控制代码中的错误
  • 您想根据错误在 catch 块中做一些事情吗?

标签: javascript reactjs redux react-redux axios


【解决方案1】:

如果您想从错误中查看状态代码,您必须像这样访问它

error.status

并得到消息

error.message

【讨论】:

    猜你喜欢
    • 2021-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-15
    • 2021-10-12
    • 2019-11-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多