访问包含在更高阶组件

时间:2015-09-29 14:51:23

标签: javascript reactjs reactjs-flux

我知道有类似的问题,但是他们都没有一个令人费解的答案,因为问题会影响很多人使用组件包装。

假设我有一个组件包装在来自React-Motion的Spring包装器中。 什么是优雅的 react-ish 访问包装的反应组件的方式,例如在鼠标事件处理程序中放置在结构中更高的位置?

没有包装器,在示例中我看到它是通过将child的id绑定到parent的render方法中的处理程序然后通过parent.refs [id]访问子节点来完成的。我至少可以想到一些丑陋的解决方法,如:

  • 将相同的ref id传递给包装器并使用一个返回this.refs [id] .refs [id]
  • 的帮助方法
  • 将包装物放在结构中较低的位置,例如将Spring放入我的子组件中,而不是将其包裹在其中。
  • 在包装器上复制子道具(虽然不能访问真实的东西)。

但是有一个典型的解决方案吗?我觉得拥有一个只增加一些功能的包装器不应该如此容易地破坏父母和孩子之间的沟通。

0 个答案:

没有答案