React-router:如何处理更复杂的导航工作流程(比如,使用弹出窗口...)

时间:2016-04-11 14:15:07

标签: react-router browser-history html5-history

我有一个应用程序,您可以在其中显示2种内容。

有3个“主要内容”页面,其中包含网址:

  • /(root)
  • /favorites
  • /timeline

还有一个设置弹出窗口。它继续在“主要内容”之上。我应该能够直接深入链接到这个设置弹出窗口。直接打开该链接(例如,从电子邮件中)应该导致在后台显示根/的内容,并在前台打开设置弹出窗口。

当设置弹出窗口关闭时,它不应该影响弹出窗口下的主要内容。网址应取回其之前的值(主要内容之一:/ /favorites/timeline之一

用例:在某处,打开设置弹出窗口,然后关闭它。

  • 登录/favorites
  • 点击/settings链接
  • 设置弹出窗口应该打开
  • 点击设置弹出窗口中的关闭按钮
  • 设置弹出窗口应关闭,网址应为/favorites

我在实施这个时遇到了麻烦。我试过使用history.goBack(),但实际上并不是我想要的。在收盘时我不想回去,但实际上我想将一个新的/favorites条目推入历史。

此外,使用goBack表示如果用户直接来自链接/settings,则无处可回,因为没有回溯历史记录...

我也试图看看如何使用history.push(),但对我来说似乎有点不自然(并且非常紧密耦合!)我的设置弹出窗口可能需要执行类似history.push("/favorites")的操作靠近......

关于如何以惯用的方式解决这个问题的任何想法?

0 个答案:

没有答案