首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >React Router和browser back按钮

问React Router和browser back按钮
EN

Stack Overflow用户
提问于 2021-09-16 14:21:14
回答 1查看 61关注 0票数 0

我有一台包含以下路由的路由器交换机:

代码语言:javascript
复制
<Route exact path={['/', '/gg/']}><Spinner /></Route>
<Route path={['/error', '/gg/error']} render={() => <Error />} />

该应用程序通过'.../gg/‘加载,并在此微调期间对数据库进行axios调用。如果调用响应是一个错误,则通过'.../ error‘加载错误组件。

我的问题是-在错误页面加载后,当我点击浏览器的后退按钮时,它会返回到'.../gg‘,而不是加载这个应用程序之前的页面。我希望它返回到'... /gg‘之前的页面,并且根本不加载/gg。但我不知道该怎么做。

EN

回答 1

Stack Overflow用户

发布于 2021-09-17 00:28:49

您可以尝试使用来自react-router-dom的重定向组件。将重定向状态设置为false,如果数据库返回错误,则将重定向状态设置为true。

代码语言:javascript
复制
import { Redirect } from 'react-router-dom';
// (...)

function Component(){
  const [redirect, setRedirect] = useState(false);

  // your fetch that set redirect to true in case of error

  if (redirect) return <Redirect to='/gg/error' />;

  return (<div>Component</div>);
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69210183

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档