1つのイベントだけを持つコンポーネントを作成し、それを任意のレベル(子または孫または深い)の祖先に配置し、イベントがトリガーすると、この祖先の親が動作しますalert( "私は" + parent.name + "私の祖先の一人が何かをやった"))。 老人ホームの想像は、居住者が死ぬことを拒否し、百万の祖先を抱えていて、祖先が誕生日を持つたびに住民が互いに知らせる。 私は観察者のパターンが反応していることを理解しているので、これを行う最も巧妙な方法は何でしょうか?子を作成するときに親オブジェクトを手動で渡すことなく行うことができますか?私はこれを行う方法を知っているアソシエートと親のコミュニケーションを行う
0
A
答えて
0
一つの方法は、あなたが子供の中にparentsFunctionを実行した場合、親今
class Parent extends React.Component {
constructor(props) {
super(props)
this.doSomethingInParent = this.doSomethingInParent.bind(this);
}
doSomethingInParent() {
console.log('running in parent');
}
render() {
return <Child parentsFunction={this.doSomethingInParent} />
}
}
で何かをする「家系」ダウン機能を渡すことですコンポーネントでは、doSomethingInParent内にconsole.logが表示されます。あなたがもっと深くしたいのであれば、より複雑なアプリケーションでは面倒な小道具を介してその機能を継続的に伝える必要があります。これは、あなたが状態/ディスパッチアクションを管理し、コールバック関数の長い連鎖を避けることができるので、還元/流束が普及している理由です。
0
溶液をに議論後getChildContext、childContextTypesを用いて見出された: check if a component is a child or ancestor of another component ReactJS(2つの溶液の場合)の例を参照してくださいhttps://jsfiddle.net/shaibam/d0q5mwc4/33/。
contextTypes: {
notifyChange: React.PropTypes.func
}.....
関連する問題
- 1. Observables:Angular2親子のコミュニケーション
- 2. オブジェクトはJavaで親とのコミュニケーション
- 3. Pythonの親プロセスのコミュニケーションやPythonのサブプロセス
- 4. 角2、親から子へのコミュニケーション
- 5. React JS - 子どもと親の間のコミュニケーションと二重イベント
- 6. 未知の子供と親の間の反応 - コミュニケーション
- 7. React on Asp.netコア2.0の子どもと親のコミュニケーション
- 8. C++でのアソシエートと反復
- 9. Json.NETとPHPコミュニケーション
- 10. AngularJSとJavaのコミュニケーション
- 11. belongs_toアソシエーションのアソシエート
- 12. コミュニケーション
- 13. コミュニケーション
- 14. Event Emmiterを使用せずにAngular 2の子どもと親のコミュニケーション
- 15. React.js:同じ親の2人の子供の間のコミュニケーション?
- 16. nodejsウェブサーバーとPythonコミュニケーション
- 17. 保存時に親オブジェクトにアソシエートされていないエンティティ
- 18. アンドロイドスタジオとユニティの間のコミュニケーション
- 19. アンドロイドネイティブとネイティブの間のコミュニケーション
- 20. UnityとEclipseの統合 - コミュニケーション?
- 21. 子どもとのコミュニケーション
- 22. NodeJSとNowJsサーバーとインスタント・コミュニケーション
- 23. アソシエート配列のソート
- 24. エンタープライズアーキテクト:アソシエート操作
- 25. アソシエートを再作成中にアップダウン - アソシエート接続を維持する
- 26. Android XMLファイルとのアソシエート解除
- 27. コミュニケーション/ JSP
- 28. JSONコミュニケーション
- 29. Outlookアドインとカスタムフォーム地域:コミュニケーションはどのように行われますか?
- 30. JFrames間のコミュニケーション
関数を渡すことは確かtediusであり、フラックス/ Reduxのに伴う問題は、私はansestor iは唯一の登録方法についてのメッセージを送信する場合、コンポーネントの閉じたグループに特定のリスナーを適用する方法を理解couldntのことですその親は聞く。私が理解していることから、両親はすべてここにメッセージをします。 –
"contains"とReact.findDOMnodeを使ってしかできませんでした。 https://jsfiddle.net/shaibam/d0q5mwc4/33/ –