我试图从一个子组件拦截用户活动,然后更新它的一个兄弟姐妹的状态。 例如在Reactjs中组件之间进行交互的最佳方式是什么?
-RootApp
--Child1 (has user interaction e.g. onClick)
--Child2 (needs data from Child1 to update state)
我的解决方案(我觉得这相当不可思议)是我传给Child1回调从RootApp。当用户做onClick on child1回调被调用。回拨RootApp然后更新为Child2定义的道具。 Child2被重新渲染。
我正在做这个对吗?
是的,父组件更新子组件的标准方式是将回调传递给子视图。所以在你的情况下,'Child1'需要告诉'RootApp'在'Child1'中发生一些交互时改变它的状态。将该状态从'RootApp'传递给'Child2',并且'Child2'将在其状态变化的任何道具时重新呈现 – trekforever 2014-10-16 17:51:19
非常感谢。很高兴看到我在正确的轨道上。 – 2014-10-17 08:30:59