Reactjs 如何在React中获取对嵌套子对象的引用
我的应用程序结构如下(Reactjs 如何在React中获取对嵌套子对象的引用,reactjs,reactjs-flux,flux,Reactjs,Reactjs Flux,Flux,我的应用程序结构如下(HighOrderComponentis-Alt的AltContainerwrapper): ref解析顺序发生了轻微的变化,因此在调用组件的componentDidMount方法后,组件的ref立即可用;只有当您的组件在componentDidMount中调用父组件的回调时,才可以看到此更改,这是一种反模式,无论如何都应该避免 为什么需要调用ref(装载的DOM组件)上的collectData()方法?备选方案(更符合react):在组件中定义状态collectData
HighOrderComponent
is-Alt的AltContainer
wrapper):
ref解析顺序发生了轻微的变化,因此在调用组件的componentDidMount方法后,组件的ref立即可用;只有当您的组件在componentDidMount中调用父组件的回调时,才可以看到此更改,这是一种反模式,无论如何都应该避免
为什么需要调用ref(装载的DOM组件)上的collectData()
方法?备选方案(更符合react):在组件中定义状态collectData:false
,将其传递给画布组件
。在canvascomponent内部(可能在getInitialData+内部componentWillUpdate内部),执行if(this.props.collectData){collectData();}
。当用户单击按钮(顶部组件的一部分)时,将触发this.setState({collectData:true})
@wintvelt将尝试此操作。感谢您关注同一个问题:(不幸的是,高阶组件和子组件都是包,因此我不太愿意修改它们……可能是
<App>
<HighOrderComponent store={someStore...}>
<MyCanvasComponent ref="canvasRef" />
</HighOrderComponent>
</App>