微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在ReactJs中添加查询参数时,“返回”按钮不起作用

如何解决在ReactJs中添加查询参数时,“返回”按钮不起作用

让我介绍一下造成问题的原因。 我的React Web应用程序中有3条路由:

  1. "/"进入主页。
  2. "/page2" for page2。
  3. "/page3" for page3。

现在,当我沿路线"/page2"行驶时,我正在做的事情是,我在URL中推送查询参数以呈现page2中的标签,从而使URL为"/page2?activeTab=tabId”。一个简短的提示,当我尝试转到"/page2"时,它将始终将URL设置为"/page2?activeTab=tabId"

现在的问题是,当我第一次进入Page2并尝试按浏览器上的后退按钮时。我一次又一次地重新提交page2。原因是:假设我是第一次进入第2页,而网址将为"/page2?activeTab=tabId"。现在,当我按下返回按钮时,浏览器将删除查询参数并呈现URL "/page2"。因此,每当URL再次呈现我的代码时,便会将其变为"/page2?activeTab=tabId"。因此,我不能只停留在第二页。

在这方面我需要帮助。如何消除或避免这个问题?

解决方法

使用重定向和路由可以解决此问题。也许以下代码段可以帮助您。

  <Switch>
     <Redirect from='/page2' to='/page2?activeTab=tabId' />
     <Route path="/page2?activeTab=tabId" >
       <Page2 />
     </Route>
     //....
  </Switch>

Sandbox working example

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。