2016-10-21 7 views
5

私はreact/redux Webアプリケーションを構築していますが、Webアプリケーションが実行されている間は、決して変更されない静的な設定情報がどこにあるのか不思議です。私は静的構成をreduxに格納する必要がありますか?

This is the data in question

この情報は、例えば、アプリのさまざまな部分で使用されています。そこにあなたがメインアレイのうちのいずれかの項目を選択することができますフォームがあり、そうすることで、別の選択フィールドを埋めることにより、選択された配列の特性:

<select>Choose an exchange</select> 
<select>Choose a market (that is available in the above exchange)</select> 

これは(最初selectで選択された内容に基づいてstate.marketsを設定する)いくつかの減速ロジックにうまく自分自身を貸すことになるが、それは、ツリー内の他の状態に基づいてフィルタリングする必要があり、又はレデューサー内のクロージャーにデータをロードするだけです。 gは状態ツリーの外側に無関係です)?または、これはまったく状態ではありません(コンテナがこのファイルをロードし、単一のstate.exchange州のpropに基づいてフィルタリングすべきですか)。フォームが結果に充填され

は以下のように処理されます。

{exchange: 'a', market: 'b'} 

だから、(私は推測?)すぎの状態になり

+0

投稿したデータが変更されることがない場合は、そのままモジュールとして残しておきます。それらのフィールドのいずれかを読む必要がある場合はいつでもインポートすることができます。 – azium

答えて

0

reduxの私の理解では、我々だけ保存しなければならないということですステートフルのデータはstoreになります。つまり、変更される可能性のあるデータです。定義による静的データは状態を持たないため、そのように追跡する必要はありません。

この結果、私は通常、これらのタイプの静的オブジェクトを格納する/common/app-const.jsファイルを持っています。あなたの場合は、すべての静的データをexchange.jsから共通ファイルに移動するだけで、どこでも必要な場所にimportを置くことができます。

/common/app-const.js

export default { 
    markets: [ 
      { pair: ['USD', 'BTC'], minimalOrder: { amount: 0.01, unit: 'asset' } }, 
      { pair: ['RUR', 'BTC'], minimalOrder: { amount: 0.01, unit: 'asset' } }, 
      { pair: ['EUR', 'BTC'], minimalOrder: { amount: 0.01, unit: 'asset' } }, 
      ... 
} 

私はしかし、そのもう少し簡単な、しかし、単にreact-redux経由connect()の方法によって、あなたのデータを注入するとよいでしょう、あなたのアプローチを理解します必要な場合はファイルから静的データをちょうどimportに変更します。

+0

最後の段落の単語ですが、静的なデータファイルへのimport文は、より直接的なものですが、そのファイルに非常に依存しています。 Reduxはその点で依存性注入の一形態を提供しています。 – Patrick

関連する問題