2016-10-27 10 views
1

ReactJSコンポーネント間の通信に推奨される方法は何ですか?私はrelated questionを見ました。しかし、私は十分な答えを見つけることができませんでした。主なアプローチは、次のようになります。ReactJSコンポーネント通信

  1. 子/親だけが通信するものとします。
  2. 親から子への通信は、小道具を設定することによって実現され、その逆は、小道具としてコールバックを渡すことによって実現されます。

これは、以下の欠点を有する:

  1. 兄弟が直接通信できないため、兄弟の間で前後に通過しなければならないすべての状態は、それらの共通の親に格納されなければなりません。これは、親が実際には必要ない多くの状態を持っていることを意味します。
  2. コールバックに合格するのはむしろ控えめです。

私がしたいのは、通信を確立するためにコンポーネントのメソッド/メンバーに追加することです。私はRxJSの行に沿って考えています。これは、次のことを意味します。

  1. 私は、通信がReactJSが扱う機能の範囲外であることを認めます。これはどういうことかと思われます。
  2. クラスのメンバーは永続的である必要があります。たとえば、親コンポーネントはrender関数を呼び出すたびに新しい<Child />を作成すべきではありません。この場合、すべてのサブスクリプションを再確立する必要があるからです。代わりに、コンストラクタはオブジェクトを作成し、render呼び出しでは{this.child}を呼び出して呼び出す必要があります。

私の質問は:コンポーネント通信はReactJSによって何らかの形で処理されるのですか、それとも何か他の方法で開発者が気にするべきことですか?

最初のケース:ReactJSでコンポーネント間の通信を実現するスケーラブルでエレガントな方法はありますか? ReactJSの開発者の理論的根拠は、上記のように行われているのでしょうか、あるいは私が紛失しているものがありますか?

2番目のケースでは、コンポーネントはどのように通信する必要がありますか?

答えて

3

Reactにはコンポーネント間の通信に2つの確立された方法があります。

観察可能architechture:architechtureようMobx

フラックス:Redux

注::)

で開始することがわからない場合はmobxを見てください
関連する問題