如何处理reactjs中每个浏览器选项卡的单独状态?

时间:2017-01-19 15:15:38

标签: reactjs react-redux

我们正在打开新窗口选项卡,其中包含基于列表中所选userId的userList。我这样打开新窗口:

this.props.getVisitDetails(this.props.userId)
var win = window.open('./requisition','_blank');
win.onload = function() { this.document.title = windowTittle; }
win.focus();
this.state.oldWindow.push(win);

这里我从Redux商店获得userId。问题是,如果我打开多个窗口选项卡,则每个窗口选项卡上的userId将具有相同的userId,当您单击刷新时,所有窗口选项卡将具有相同的数据。所以我的问题是如何为每个窗口标签维护一个单独的状态?

注意:所有浏览器选项卡都共享我们使用createstore方法保存的相同存储状态,因此在我的情况下,visitid将在每行单击时更新,这将打开浏览器的新选项卡。这就是数据的共享方式"

1 个答案:

答案 0 :(得分:0)

您的商店不会在多个标签页面之间共享,因此每次打开新标签页时,您的整个应用程序都会再次加载,同时初始化新店铺。 因此,在您的情况下,简单的解决方案是打开包含userId作为查询参数(window.open('./requisition?userId=${userId}','_blank');)的URL的新选项卡。这样您就可以在不同的浏览器选项卡中维护单独的userId。