Javascript 访问反应组件';s在非响应文件中的状态
我有一个主干文件,在它里面,我使用React.renderComponent渲染一个React组件(计时器)。但是,在react组件中,我有一个状态调用计数器。我想从主干文件中获取此组件的状态。虽然我将一个props.model传递给了Timer,但我可以在Timer中修改这个props,但这将使props.model中的数据保持不变,这是我不想做的 因为Timer不是React组件的子组件,所以我无法使用refs访问Timer.stat。那么,有没有一种方法可以在其父级中获取计时器的状态Javascript 访问反应组件';s在非响应文件中的状态,javascript,backbone.js,reactjs,Javascript,Backbone.js,Reactjs,我有一个主干文件,在它里面,我使用React.renderComponent渲染一个React组件(计时器)。但是,在react组件中,我有一个状态调用计数器。我想从主干文件中获取此组件的状态。虽然我将一个props.model传递给了Timer,但我可以在Timer中修改这个props,但这将使props.model中的数据保持不变,这是我不想做的 因为Timer不是React组件的子组件,所以我无法使用refs访问Timer.stat。那么,有没有一种方法可以在其父级中获取计时器的状态 非常
非常感谢 状态不可在组件外部的读取或拉取查询中访问。国家对组件本身及其子组件是私有的 如果需要访问该变量,您有两个选项:
- 让react组件在每次状态更改时发送一些更改事件,以通知其他人新状态
- 在react组件外部跟踪它,并将其作为道具传递给组件本身
- (脏的解决方案:不要在家里尝试):让react组件将特定的状态变量放入要呈现的HTML代码的数据属性中,例如
,然后从DOM中读取该属性。在大多数情况下,如果状态更改,react始终会重新渲染,因此您的属性始终与状态同步
实际上,只有在其他所有选项都失败时,才使用最后一个选项作为转义。因为这违反了react的设计原则。让react组件发出AJAX请求