2017-12-12 10 views
0

私はネイティブに反応する新しいです。いくつかのコードを再利用するいくつかのネイティブ・アプリケーションを作成する予定です。
共有するコードは、セッション管理、API、ストレージマネージャ、フォーマッタなどです。 これらはネイティブコンポーネントではありません!コードを共有しながら、アプリケーションごとに異なる設定を使用して多重反応ネイティブアプリケーションを管理するにはどうすればよいですか?

だから私は、次のような構造でこれらのプロジェクトを整理したい:

  • APP_1 (異なるpackage.json)
  • app_2 (異なるpackage.json)
  • app_n (別パッケージ.json)
  • package_that_every_app_imports (別のパッケージ.json)

私の問題は、project_that_every_app_includes内のいくつかのモジュールをアプリケーションごとに設定する必要があるということです。

私はグローバル変数を設定して、異なるパッケージからすべてのモジュールにアクセスできると考えています。

package_that_every_app_importsのモジュールをこれよりもむしろ構成する方が良いでしょうか?

UPDATE 1(もちろん除いインスタンスのコンストラクタに設定を渡すことによって):その周りにプレイした後
私はAPP_1でグローバル変数を設定すると、グローバル変数がpackage_that_every_app_importsで利用できないようです最初の推測は間違っています。

答えて

0

はもう少し研究を行った後、私はこのパッケージには、私はファイルを.env使用して、異なる構成の環境(開発、生産、など...)/作成、管理することができます react-native-config

と呼ばれるこのパッケージつまずきます。

.env例:構成も問題なくpackage_that_every_app_importsのモジュールにアクセスすることができる

import Config from "react-native-config"; 
const base_url = Config.BASE_URL; 

BASE_URL=http://staging.example.org/ 
ENVIRONMENT=staging 

変数は次のようにアクセスすることができます。

0

すべてのアプリケーションのルートフォルダに共有コンポーネントフォルダ(package_that_every_app_imports)をコピーすることをお勧めします。ルートフォルダから削除すると、外部コードの変更に脆弱になります。

共有コンポーネント(モジュール)で必要な設定は、すべて外部コンポーネント(App)から内部コンポーネント(モジュール)に渡す必要があります。

+0

いくつかの設定が必要なモジュールは、単純な関数か、またはロジックを持つ単純なクラスのいずれかです。これらのモジュールのどれも反応ネイティブモジュール(React.Componentを拡張)ではありません。しかし、コンポーネントがプロパティを介して設定されるべきであることを指摘してくれてありがとう。 –

+0

「私は外部コードの変更に脆弱ですか?あなたは例を挙げることができますか? –

+0

@SteliosJosephKarras設定データを関数のパラメータで渡すことができます。しかし、あなたのモジュールの仕組みが正確にわからないので、あなたにとって最良の選択肢だとは言えません。関数型プログラミングスタイル(関数によって必要なすべてのデータがパラメータを渡される)が好きですが、別のスタイルを使用する方がよい場合もあります。 –

関連する問題