首页 > 解决方案 > 反应路由器多个goBack

问题描述

我有一个带有反应路由器的反应应用程序。我有多条路线,其中一些路线显示在模式窗口中。如果我关闭模式,我想将用户发送回上一页,其中模式尚未激活。

要知道,如果我打开了模式,我会使用modal:true位置上的状态。我知道我可以简单地使用 history.goBack(),但是当我打开/login并且用户从那里转到时,我有这样的场景/register,但是两条路线都显示了一个模式。在这种情况下,如果用户单击模态框上的关闭按钮,他们将首先返回到/login.

我试图做这样的事情,但history对象没有更新为新状态。

goBack = () => {
  while(true) {
   history.goBack();
   if (!history.location.state || !history.location.state.modal) {
     break;
   }
 }
}

标签: reactjsreact-routerreact-router-v4browser-historyreact-router-dom

解决方案


推荐阅读