2016-04-12 11 views
0

私は文脈を理解していますが..グローバル変数を渡すコンテキストを使用していますか?

プロジェクト全体でいくつかの変数(色、溝幅など)を共有することが可能かどうかは疑問でしたか?それらを複数のファイルに個別にインポートするのを節約するには?

コンテキストを適切に使用すれば、どのようにすればよいでしょうか?

例:理想的には私はちょうどので、変数は、それが反応するネイティブプロジェクトのためだフライ

container: { 
paddingHorizontal: gutter, 
backgroundColor: primary 
} 

に使用できる動作するようにそれをしたいと思い

export const primary = 'blue'; 
export const gutter = 10; 

をvariables.js。

答えて

1

実際には、contextの目的は、すべてのコンポーネント間でグローバルデータを共有することです。しかし、グローバルなデータに頼っているのは良い考えではありません。あなたのリアクションコンポーネントが特定の「グローバル」の存在に依存していると、自己完結型ではなく、再利用が難しくなります。

Reactフレームワークの作者自身は、通常、反パターンをもたらすので、contextの使用を推奨しません。 contextの主な使用例は、グローバル変数をコンポーネントに挿入するのではなく、グローバルに使用可能なデータソースとアクションディスパッチャに接続することです。 ReduxReact-Reduxは、context以上の非常に美しい抽象を提供しているので、それらのライブラリをチェックアウトする必要があります。

基本的なコンセプトは、独自のprops以外のものに依存しない自己完結型のスタンドアロンコンポーネントを作成し、それらをコンテキストを使用して共有アプリケーション状態に接続する「接続されたラッパーコンポーネント」にラップすることですアクションクリエイター。この場合

、彼らのレンダリングのためのgutterを必要とし、あなたのコンポーネントのすべての単一の一つは、そのAPIにgutter小道具を公開します - そして、あなたは自動的に共有状態からgutterをフェッチ連結成分を作成します。

詳細な説明は、Redux documentationを参照してください。

関連する問題