【问题标题】:Why do i need to use current.load() rather than just .load()?为什么我需要使用 current.load() 而不仅仅是 .load()?
【发布时间】:2019-09-20 10:31:58
【问题描述】:
在查看了如何使用 refs 的 React 文档之后,一旦设置了 ref 并链接到 DOM 节点,它就会声明,例如让 DOM 节点重新加载(在我使用 HMTL5 视频标签的情况下) ) 你必须做例如this.videoRef.current.load() 而不是简单的this.videoRef.load()。有谁知道这个当前属性的作用/代表什么,以及为什么它是必要的?在尝试了这两种情况后,我的代码只适用于前者。
【问题讨论】:
标签:
javascript
reactjs
react-ref
【解决方案1】:
查看React Hooks API Reference,我们可以看到,在创建 RefContainer 时,它的初始值实际上会在组件的整个生命周期内传递给这个 .current 属性。换句话说,您传递给 refContainer 的实际 DOM 节点并没有传递给对象本身,而是传递给它的 .current 属性。因此,当您在 containerRef 对象本身上调用 load() 方法时,它不会执行,因为它没有设置为值。