我们正在打开新窗口选项卡,其中包含基于列表中所选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将在每行单击时更新,这将打开浏览器的新选项卡。这就是数据的共享方式"
答案 0 :(得分:0)
您的商店不会在多个标签页面之间共享,因此每次打开新标签页时,您的整个应用程序都会再次加载,同时初始化新店铺。
因此,在您的情况下,简单的解决方案是打开包含userId作为查询参数(window.open('./requisition?userId=${userId}','_blank');)
的URL的新选项卡。这样您就可以在不同的浏览器选项卡中维护单独的userId。