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. オブジェクトはJavaで親とのコミュニケーション
- 2. Pythonの親プロセスのコミュニケーションやPythonのサブプロセス
- 3. 角2、親から子へのコミュニケーション
- 4. React JS - 子どもと親の間のコミュニケーションと二重イベント
- 5. 未知の子供と親の間の反応 - コミュニケーション
- 6. C++でのアソシエートと反復
- 7. Json.NETとPHPコミュニケーション
- 8. belongs_toアソシエーションのアソシエート
- 9. Event Emmiterを使用せずにAngular 2の子どもと親のコミュニケーション
- 10. 保存時に親オブジェクトにアソシエートされていないエンティティ
- 11. React.js:同じ親の2人の子供の間のコミュニケーション?
- 12. コミュニケーション
- 13. nodejsウェブサーバーとPythonコミュニケーション
- 14. アンドロイドネイティブとネイティブの間のコミュニケーション
- 15. 子どもとのコミュニケーション
- 16. UnityとEclipseの統合 - コミュニケーション?
- 17. NodeJSとNowJsサーバーとインスタント・コミュニケーション
- 18. アソシエート配列のソート
- 19. アソシエートを再作成中にアップダウン - アソシエート接続を維持する
- 20. エンタープライズアーキテクト:アソシエート操作
- 21. Android XMLファイルとのアソシエート解除
- 22. Outlookアドインとカスタムフォーム地域:コミュニケーションはどのように行われますか?
- 23. コミュニケーション/ JSP
- 24. JSONコミュニケーション
- 25. JFrames間のコミュニケーション
- 26. ウェブサイト間のコミュニケーション
- 27. アドビ航空とRESTコミュニケーション
- 28. ViewとViewControllerの責任とコミュニケーション
- 29. UARTコミュニケーションdsPIC33EP256MU810
- 30. 質問、コミュニケーション
関数を渡すことは確かtediusであり、フラックス/ Reduxのに伴う問題は、私はansestor iは唯一の登録方法についてのメッセージを送信する場合、コンポーネントの閉じたグループに特定のリスナーを適用する方法を理解couldntのことですその親は聞く。私が理解していることから、両親はすべてここにメッセージをします。 –
"contains"とReact.findDOMnodeを使ってしかできませんでした。 https://jsfiddle.net/shaibam/d0q5mwc4/33/ –