2015-10-20 135 views
1

我有一个骨干文件,其内部,我用React.renderComponent呈现阵营成分(定时器)。但是,在反应组件中,我有一个状态调用计数器。我想从骨干文件中获取该组件的状态。虽然我将props.model传递给Timer,但我可以在Timer中修改这些道具,但这会使props.model中的数据持久化,这是我不想做的。访问阵营组件的状态非内阵营文件

由于定时器不是一个阵营组件的孩子,我无法用裁判来访问Timer.stat。那么有没有办法让Timer的状态在它的父类中?

非常感谢!

+0

有阵营组件使一个AJAX请求 –

回答

1

国不打算是从组件外读取或拉的查询访问。国家对组件本身及其子项是私有的。

如果您需要访问的变量,你有两个选择:

  • 充分利用反应组件发出一些变化事件,每次状态的改变,别人了解新的国家
  • 跟踪的它在反应组分之外并将其作为支柱传递给组分本身。
  • (脏溶液:不在家尝试):让反应部件把特定状态变量的HTML代码的数据属性中被渲染,例如<div data-foo={this.state.foo}>然后从DOM读取该属性。在大多数情况下,如果状态发生变化,反应总是重新呈现,所以您的属性总是与状态同步。

如果一切都失败了真的只能用最后的选择,因为逃跑。因为它违背了反应的设计原则。