小编典典

this.refs.something返回“ undefined”

reactjs

我有一个ref定义了的元素,最终呈现到页面中:

    <div ref="russian" ...>
       ...
    </div>

我想访问DOM元素属性之类的offset...。但是,我一直在努力undefined,我还不知道为什么。经过一番搜索后,很明显这refs仅适用于一个文件,但除了这一页之外,我不在其他地方使用它。我说这是为了记录它:

console.log('REFS', this.refs.russian);

是什么原因造成的?


阅读 261

收藏
2020-07-22

共1个答案

小编典典

正确的工作地点refs是特定的React生命周期方法,例如ComponentDidMountComponentDidUpdate

您不能refs从该render()方法引用。在这里阅读更多有关使用的注意事项refs

如果将console.log('REFS', this.refs.russian);调用移至ComponentDidMountComponentDidUpdate生命周期方法(假设您使用的是React>
= 14),那么您不应因此而变得 不确定

更新: 根据上述注意事项链接, 引用也不适用于 无状态组件

2020-07-22