component.refs在componentDidMount中不再可用?

GAE*_*fan 11 reactjs

从React v0.13的更改日志中:

"ref解析顺序略有改变,以便在componentDidMount调用方法后立即对组件进行引用;只有当组件在您的组件中调用父组件的回调时componentDidMount,才能观察到此更改,这是一种反模式,应该避免而不管"

那么,this.refsDOM安装后有更好的访问方式吗?我不喜欢使用setTimeout(),但这是我看到在安装后在特定DOM上工作的最佳方法.我缺少替代方法吗?或者,是将onLoad方法直接附加到组件的最佳方法?

Thi*_*ilo 15

也许你正在阅读太多内容.

我的解释是,所有儿童组件的参考都可以使用componentDidMount.

更改是在子组件自己componentDidMount完成之前它们不可用(在父组件之前发生).如果你从componentDidMount孩子内部调用一些回调,那么你只会受到影响,并且该代码会尝试ref立即使用.这似乎是一个边缘案例,正如他们所说,反模式.

因此,"正常使用"不应受此更改的影响.

请尝试报告.