未知数の子と祖先を持つReactJSコンポーネントを作成しています。親コンポーネントがそれを知るべき先祖の1つ。私の最初のアプローチはreduxを使用してreduxアクションで子コンポーネントを送信し、次にメインの親コンポーネントに警告を送信し、送信されたComponetntがその祖先の1つであるかどうかをチェックします。 しかし、親のreactJSコンポーネントは、他のコンポーネントがその祖先の1つであるかどうかをある程度知ることができますか?親がコンテキストで関数を定義することができますコンポーネントが他のコンポーネントの子または祖先であるかどうかを調べるReactJS
1
A
答えて
1
、子供たちは、この関数を呼び出すことができます。
親:
childContextTypes: {
notifyChange: React.PropTypes.func.isRequired
},
getChildContext() {
return {
notifyChange: (...args) => this.handleChange(...args)
}
},
handleChange (arg) {
console.log(arg + ' bar!')
},
子供:私はこれが行わ見ることができます
contextTypes: {
notifyChange: React.PropTypes.func
},
handleSomething() {
const { notifyChange } = this.context
// safety check if component is used elsewhere
if (notifyChange) notifyChange('foo!')
},
+0
ありがとう、私はあなたのソリューションを含めるfilddleを更新しました。 https://jsfiddle.net/shaibam/d0q5mwc4/35/ –
関連する問題
- 1. Reactjs - 子コンポーネントから祖母コンポーネントへの値の受け渡し方法
- 2. コンポーネントが特定のコンテナ内にあるかどうかを調べる
- 3. ReactJS ES2015子コンポーネント
- 4. 反応コンポーネントがnullかどうかを調べる
- 5. reactjsの親コンポーネントの子コンポーネントへのアクセス
- 6. Reactjsは他のコンポーネントの前にコンポーネントをレンダリングする
- 7. reactjsの親コンポーネントから子コンポーネントにデータを渡すには?
- 8. ReactJS、同じコンポーネント、他のコンポーネントからクラスをToggle onClick
- 9. 祖先コンポーネントの変数に最適なスコープは何ですか
- 10. reactjs親トリガー子コンポーネント
- 11. ReactJsの子コンポーネントから親コンポーネントの状態を追跡するには?
- 12. ReactJS子コンポーネントのローダーを表示する
- 13. 3つの子音があるかどうか調べる
- 14. Reactコンポーネントが表示されているかどうかを調べる
- 15. 祖先コンポーネントから継承されたスタイルのデフォルト値をオーバーライドしたい[flex4]
- 16. コンポーネントがどのパネルに属しているかを調べるにはどうすればいいですか?
- 17. 親コンポーネントはVue.jsの子コンポーネントとどのように通信できますか?
- 18. reactjs内の子コンポーネントにデータを渡す
- 19. あるコンポーネントでプロパティを定義し、reactJs内の他のコンポーネントに渡す方法は?
- 20. (reactjs)私は、次のコンポーネントTimepickerを反応させてきた子コンポーネント値
- 21. Angle2のngFormの親コンポーネントから子コンポーネントへの値の受け渡しはありますか? 子コンポーネントへ
- 22. javascriptまたは他のメソッドを使用してBeanがnullであるかどうかを調べる
- 23. ReactJS setStateが親コンポーネントから子コンポーネントに伝播しない変更
- 24. (reactjs)コンポーネント
- 25. reactjsは私が親と子コンポーネントでreactjsを使用していますバウンド値
- 26. Angular2コンポーネント - 1子から他の
- 27. ReactJSが子コンポーネントのレンダリング例外をキャッチしないのはなぜですか?
- 28. アポストロフィが引用または収縮であるかどうかを調べる
- 29. シートが空であるかどうかを調べるには?
- 30. オブジェクトがJavaScriptのマップであるかどうかを調べる
唯一の方法React.findDOMelementでjs/DOMelemt 'contains'を使うことです。 https://jsfiddle.net/shaibam/d0q5mwc4/33/ –