我有一个骨干文件,在里面,我使用React.renderComponent渲染一个React组件(Timer)。但是,在react组件中,我有一个状态调用计数器。我想从骨干文件中获取该组件的状态。虽然我将props.model传递给Timer,但我可以在Timer中修改这个道具,但这会使props.model中的数据保持不变,这是我不想做的。
由于Timer不是React组件的子代,因此我无法使用refs来访问Timer.stat。那么有没有办法在其父级中获得Timer的状态?
非常感谢!
答案 0 :(得分:1)
无法通过组件外部的读取或拉取查询访问状态。国家对组件本身及其子女是私有的。
如果您需要访问变量,您有几个选择:
<div data-foo={this.state.foo}>
然后从DOM中读取该属性。在大多数情况下,如果状态发生变化,则反应始终会重新呈现,因此您的属性始终与状态同步。如果其他所有方法都失败,那么真的只使用最后一个选项作为转义。因为它违背了反应的设计原则。