我有一个ref定义了的元素,最终呈现到页面中:
ref
<div ref="russian" ...> ... </div>
我想访问DOM元素属性之类的offset...。但是,我一直在努力undefined,我还不知道为什么。经过一番搜索后,很明显这refs仅适用于一个文件,但除了这一页之外,我不在其他地方使用它。我说这是为了记录它:
offset...
undefined
refs
console.log('REFS', this.refs.russian);
是什么原因造成的?
正确的工作地点refs是特定的React生命周期方法,例如ComponentDidMount,ComponentDidUpdate
您不能refs从该render()方法引用。在这里阅读更多有关使用的注意事项refs。
render()
如果将console.log('REFS', this.refs.russian);调用移至ComponentDidMount或ComponentDidUpdate生命周期方法(假设您使用的是React> = 14),那么您不应因此而变得 不确定 。
ComponentDidMount
ComponentDidUpdate
更新: 根据上述注意事项链接, 引用也不适用于 无状态组件