我怎样才能触摸"另一个组件没有嵌套?

时间:2018-01-10 10:59:37

标签: reactjs components

鉴于此组件树:

this.props.onQuote(txt)

从c13到c22发送一些数据的最佳方法是什么?

在我的情况下,我有类似论坛页面(c0):有消息提要(c11),消息(c12),"引用"按钮(c13)和带有一些控件(c21)的块,包括消息格式(c22)。

我想要的是在引用点击上添加一些文本到邮件表单。 所以我在onQuote中添加了回调(通过prop)on消息,这个消息刚刚被消息文本调用(带有一些转换),如下所示:.setText(txt)。然后我从根组件(c0)通过链接传递它提供它:c0 - c11 - c12。由于消息形式的文本保持在c22状态,我必须创建类似UnityWebRequest GetAssetBundle(string uri, uint version, uint crc);的方法,并从c21创建委托以从c0调用它。

这对我来说看起来很糟糕(实际上是另一个词)和复杂(代码太多)。

我怎样才能做得更好?我不想使用全球状态,我不相信这是做事的反应方式。我不喜欢整个"传递"当中间有许多组件没有对数据做任何事情而只是传递它时,就会发生这种情况。

1 个答案:

答案 0 :(得分:0)

Facebook本身的首选和建议方法是将状态提升至至少两个组件的最近共同祖先。