2016-09-29 7 views
2

仲間のエンジニア、私はreact-reduxに関する質問があります。私はサードパーティのスクリプトとreduxストアの状態を共有することは良い/悪い習慣であるかどうかを知りたいです。現在のところ、Cookieを使用して、サードパーティ製のスクリプト(非機密情報)にいくつかの状態情報を提供しています。しかし、我々は、アプリケーションの真実の源が状態ツリー/ストアであることを知っている。したがって、レフィックスのコア原則に沿ったままにするために、あなたには何か推奨事項がありますか?Redux状態を第三者のスクリプトと安全に共有する

例を示します。そこで私たちは、react-reduxアプリケーションと並行して実行する必要のあるいくつかのレガシースクリプトを用意しています。実行する前にいくつかのクッキーを読んでいます。たとえば、「username」というCookieがあり、「john」の値を持っているとします。サードパーティのスクリプトはそのクッキーを読み取り、値が 'john'と等しい場合は何かを行います。

私たちのreact/reduxアプリケーションは、このクッキーをレデューサー/アクションを使用して読み込み/設定しますが、第三者のスクリプトは還元されず、この '名前'値を知る必要があります。

私は、状態ツリーのスライスを提供し、それらをウィンドウ内でグローバルに利用できるようにする反応モジュールを作成できると考えていました。

またReduxのウォッチライブラリーが有用であることができると思わ:https://github.com/jprichardson/redux-watch

は理想的には、我々は、これらのサードパーティアプリケーションは、我々は我々の新しい反応/ Reduxのアプリケーションのために実装されてきたパターンを変換して従って取得したいですしかし、時に大企業では単純なことではないので、従来のコードベースで作業する必要があります。

どのような考えですか?

答えて

0

これに反応モジュールは必要ありません。お使いのサードパーティのスクリプトは、単純な更新プログラムを取得するために店を購読することができます。これは問題にはならない理由を私は見ていない

store.subscribe(() => { 
    const username = usernameFromState(store.getState()); 
    // run the 3rd party code with the username 
}); 

。ストアが「アプリケーションの真実の単一のソース」だと言ったように、第三者のスクリプトがアクションをストアにディスパッチすることは大丈夫です。サードパーティスクリプトはそのアプリケーションの一部です。

関連する問題