【问题标题】:Why I can t get my this.refs.children elements?为什么我无法获取我的 this.refs.children 元素?
【发布时间】:2019-05-04 22:47:18
【问题描述】:

我试图在 React 中获取 ref 的元素,但我的 console.log 返回未定义。

这里是情况的visual_log:

在这张图片中,我们可以看到,第一次,HTML 集合有一些元素,但是当我尝试调用 arrayElement 时,出现了一个问题:控制台返回 undefined

这是我的代码:

let sliderContainer= this.refs.sliderContainer
console.log("sliderContainer: ", sliderContainer) // return reference element with all property inside
console.log("sliderContainer.childNodes: ", sliderContainer.childNodes,sliderContainer.children ) // return NodeList, HTMLCollection.... length 4
console.log("sliderContainer.childNodes[0]: ", sliderContainer.childNodes[0], sliderContainer.children[0) // return undefined, undefined 

由于我的控制台在第一个日志中显示我的裁判组件内的所有 div 元素,这怎么可能?

任何提示都会很棒, 谢谢

【问题讨论】:

    标签: javascript reactjs


    【解决方案1】:

    它是HTMLCollection,它像一个数组一样工作,因此您可以通过索引collection[index] 访问元素。更多信息可以查看this page

    【讨论】:

    • 另外,您可以使用Array.from将其转换为标准的JS数组。
    • @odensc 当然,如果有必要的话。
    • 感谢您的回答,这就是我正在做的事情,但它返回给我未定义,我已经实现了一个具体的日志来帮助您了解情况
    • @Webwoman 这真的很奇怪,因为您的代码 sn-p sliderContainer.childNodes 返回未定义,但在可视日志中它返回 NodeList。什么是正确的?
    • oups,我的错字,视觉效果很好,我更正了:)
    猜你喜欢
    • 2018-11-09
    • 2018-12-24
    • 1970-01-01
    • 1970-01-01
    • 2020-01-14
    • 2022-06-10
    • 1970-01-01
    • 2020-04-12
    • 2015-11-27
    相关资源
    最近更新 更多