在React中,从子组件向父组件冒泡信息的方式是通过回调函数。
(示例来源:react.js自定义事件以与父节点通信)
然而,随着时间的推移,这种方法可能变得非常繁琐,例如:
Child = (props) => <div onClick={props.callback}/>
Parent = (props) => <Child callback={props.callback}/>
GrandParent = (props) => <Parent callback={props.callback}/>
GreatGrandParent = (props) => <GreatGrandParent callback={props.callback}/>
在这个例子中,如果GreatGrandParent想从Child那里获取信息,我们必须通过Parent和GrandParent来冒泡传递信息。
这种情况比我想象的更常见,因为React强烈推荐使用小组件。
注意:我想触发的实际事件不仅仅是一个简单的点击事件,我意识到我可以在这个例子中监听grandparent上的click事件,但这更加复杂。基本上只是想将一些数据从child向上传递到grandparent。