Reactjs 在新选项卡/窗口中访问redux状态

Reactjs 在新选项卡/窗口中访问redux状态,reactjs,redux,react-router,state,Reactjs,Redux,React Router,State,我正在使用redux存储我的状态。当我导航到同一页面(多个组件但在一个页面上)时,它可以正常工作。但是,当我在新选项卡/窗口中的链接中打开时,状态变为未定义 根据调查结果,在刷新页面或在新选项卡/窗口中打开时,预计redux状态将重置。然后我想到的是在导航到另一个组件时将store.getState()作为参数传递,这样,如果该组件看到状态未定义,它将访问其props状态(由前一个组件传递) 现在,当在新选项卡中打开链接时,我需要传递状态。我正在使用react路由器进行导航。目前,当我点击链接时

我正在使用redux存储我的状态。当我导航到同一页面(多个组件但在一个页面上)时,它可以正常工作。但是,当我在新选项卡/窗口中的链接中打开时,状态变为未定义

根据调查结果,在刷新页面或在新选项卡/窗口中打开时,预计redux状态将重置。然后我想到的是在导航到另一个组件时将store.getState()作为参数传递,这样,如果该组件看到状态未定义,它将访问其props状态(由前一个组件传递)

现在,当在新选项卡中打开链接时,我需要传递状态。我正在使用react路由器进行导航。目前,当我点击链接时,状态被传递到另一个页面。但是,当我在新窗口/选项卡中打开链接时,状态再次变得未定义。我正在使用此链接导航到指定的链接:

<Link to={link}>{value}</Link>
{value}
其中link是一个常量,包含我需要传递的路径名和状态(store.getState())

我发现了许多类似的stackoverflow问题[例如,我尝试使用

<a onClick={history.push(link)}>

但它似乎不起作用。也许我用错了。其他的我就是不知道如何在这种情况下使用/实现

除了解释之外,请给出示例代码片段。我是redux/react的初学者


谢谢!

您应该检查的第一件事是您使用的是正确版本的React Router。我不确定这种方法是否适用于V4以外的任何版本

如果您确实在使用React Router V4,但它仍然不起作用。您可以采取的另一种更干净的方法是将应用程序的状态保存在本地存储中,这种方法不仅可以在重定向到新选项卡/窗口后保存状态,还可以在刷新后保存状态


谢谢!将尝试您的建议并通知您。遇到此npm软件包,它在不同选项卡之间同步redux状态。不确定这是否是您的要求,但粘贴它以防万一:。在多个选项卡之间同步状态之前需要注意,但可能会导致不必要的副作用。