我有一个带有react-router的react app。我有多条路线,其中一些显示在模式窗口中。如果我关闭了模式,我想将用户发送回上一个尚未激活模式的页面。
要知道,如果我有模式打开,则在位置上使用状态modal:true
。我知道我可以简单地使用history.goBack(),但是我遇到的情况是,我在/login
上,并且用户从那里转到/register
,但是两条路由都显示了模态。在这种情况下,如果用户单击模式上的关闭按钮,他们将首先返回到/login
。
我试图做类似的事情,但是history
对象没有用新状态更新。
goBack = () => {
while(true) {
history.goBack();
if (!history.location.state || !history.location.state.modal) {
break;
}
}
}