我有一个Checkout页面,在提交表单后,您将转到Order页面。如果用户单击“订购”页面上的浏览器“后退”按钮,则需要将他们重定向到其“帐户”页面,而不是将他们带回到“结帐”页面。我该如何使用React Router 4做到这一点?
我发现了这个问题,但它似乎已经过时了: Intercept/handle browser's back button in React-router?
我可以想到2种方法:
1在componentDidMount
的Checkout中,查看先前的URL是否为/order
。如果是,则执行重定向。
2在Order
组件中,拦截向后导航命令,而是重定向。
我更喜欢选项2,因为该行为驻留在将要从中调用的组件中,并且不需要安装Checkout组件。但是我不确定浏览器是否允许您编辑这些内容?
答案 0 :(得分:0)
您需要操纵反应路由器的历史记录。您可以使用历史记录库或重定向组件。这篇文章对此进行了很好的解释:https://tylermcginnis.com/react-router-programmatically-navigate/