1

次の反応コンポーネント構造があります。

  • マイエディター
    • ブートストラップ タブ
      • コンポーネント グリッド
        • 画像1
        • 画像2
        • 画像 ×

myEditor コンポーネントには、状態を設定する componentSelected() 関数があります。すべてのコンポーネントを記述したアプリでは、コンポーネントのツリーを介して componentSelected() 関数をプロップとして渡し、画像オブジェクトから呼び出すだけです。

componentSelected={this.props.componentSelected}

ただし、このアプリではサードパーティのコンポーネントを使用しています。正確にはブートストラップタブ。componentSelected() 関数をサードパーティ コンポーネントを介してその子コンポーネントに渡して、それらのコンポーネントを呼び出せるようにするにはどうすればよいですか?

これは別の質問につながります。Reactを誤解していますか?小道具としてコンポーネントに渡すことなく、React コンポーネント ツリーの関数を呼び出すことはできますか? もしそうなら、どのように?

ありがとう!

4

1 に答える 1

2

そのとおりです。規則は上から下まで.props

<BootstrapTabs> <ComponentGrid componentSelected={this.props.componentSelected}> ... </ComponentGrid> </BootstrapTabs>

編集:ソースを変更せずに BootstrapTabs に追加の小道具を絶対に追加できますが、選択アクションがそのレベルで発生しない限り、その余分なレベルの小道具の受け渡しを節約することもできます。

于 2015-07-29T11:05:41.887 に答える