首页 > 解决方案 > 如果服务器在反应钩子页面中发送 404 消息,我们如何推送到 errorPage

问题描述

/errorPage如果服务器在反应钩子页面中发送 404 消息,我们如何推送。我正在检查令牌在服务器端是否有效,并在 else 条件下发送404消息,在这种情况下,我想显示一个 errorPage。这是一个好方法吗,请指教!

/* 此服务用于提交提名 */ server.js

app.post('/service/nominateperson', async (req, res) => {
  try {
    const nomineeName = req.body.nomineename;
    const nomineeEmail = req.body.email;
    const description = req.body.description;
    const nominatedBy = req.body.nominatedby;
    var data = {nomineename:nomineeName, email:nomineeEmail, description:description, nominatedby:nominatedBy};
    console.log("Server side display nominations :" + data);
    const checkTokenData = await LinkTokenModel.findAll({ attributes: ['token','expiredAt']});
    const expiryDate = checkTokenData[0].expiredAt;
    const formattedExpiryDate = moment(expiryDate).format('YYYY-MM-DD hh:mm');
    const tokenData = checkTokenData[0].token;
    var now = moment();
    var currentDate = moment(now).format('YYYY-MM-DD hh:mm');
    if(currentDate < formattedExpiryDate ){
      const nominationData = await NominationModel.create(data);
      res.status(200).json({message: "Nomination send successfully !"});
    } else {
      res.status(404).json({ fail:true});
    }
  } catch (e) {
    res.status(500).json({ fail: e.message });
  }
});

nominate.js

import { useHistory } from 'react-router-dom';
 const history = useHistory();

    const onSubmit = () => {
        const fetchData = async () => {
            try {
                const res = await Axios.post('http://localhost:8000/service/nominateperson', formRegister);
                if (res.data) {
                    console.log("Link token created:" + res.data);
                    const successMessage = res.data.message;
                    setHelperText(successMessage);
                } else {
                    history.push('/errorPage');
                }
            } catch (e) {
                console.log(e);
            }
        }
        fetchData();
    }

标签: reactjsreact-hooks

解决方案


catch(e)代码部分中,使用history.push('404')重定向浏览器之类的东西。

如果有路线页面,将显示


推荐阅读