2017-01-19 9 views
3

リストから選択したユーザーIDに基づいてuserListを含む新しいウィンドウタブを開きます。私はこのような新しいウィンドウを開く: reactjsの各ブラウザタブで別々の状態を処理する方法は?

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

わかりましたように、新しいブラウザタブを開いています。私は2つのタブが同じ状態を共有することはできないと思う。実際、ブラウザのタブはデータを共有しません。 –

+0

はい、すべてのブラウザタブは、私がcreatestoreメソッドを使用して保存した同じ保存状態を共有しています。私のケースでは、visitidはブラウザの新しいタブを開くすべての行クリックで更新されます。 – jack123

+0

私はそれが可能だとは思わない。 Redux状態をブラウザのタブ間で共有することはできません –

答えて

0

あなたのストアは、複数のタブ間で共有されていない「共有」される方法です。 あなたのケースでは、簡単な解決策は、クエリーパラメータとして012IというuserIdを含むURLで新しいタブを開くことです。これにより、別のブラウザIDで別々のユーザーIDを管理できるようになります。

関連する問題