我浏览了React Refs 的 React 文档,这就是它所说的内容createRef()
createRef() 接收底层 DOM 元素作为其当前属性。当 ref 属性用于自定义类组件时, ref 对象接收组件的已安装实例作为其 current 。
我对此有一些疑问。首先看看下面的组件。
import React, { Component } from "react";
class ImageCard extends Component {
constructor(props) {
super(props);
this.imageRef = React.createRef();
console.log("Called in constructor", this.imageRef);
}
componentDidMount() {
console.log("Called when component did mount ", this.imageRef);
}
render() {
const { description, urls } = this.props.image;
return (
<div>
<img ref={this.imageRef} src={urls.regular} alt={description} />
</div>
);
}
}
export default ImageCard;
因此,在构造函数中,我创建了一个React Ref,并分配给一个名为 的属性imageRef
。并且,在该render()
方法中,我将该 React Refimg
作为属性传递给React 元素ref
。
React Ref 在这里做什么?
img
最终将成为一个对象,该对象具有名为 ref 的属性,其值为 value this.imageRef
,它如何接收img
当前属性?
如果是这样的话this.imageRef.current = img(object)
,那是有可能的。但我不明白上面的方式即ref={this.imageRef}
另外,对于这两个控制台语句,这是我得到的输出。
因此,在构造函数中,当前属性是null
有效的。但是,当我展开它时,它具有ieimg
中打印的所有属性,如何?componentDidMount
clinetHeght
我不知道,是否对此有简短的解释,或者有人必须纠正整页。如果这个问题太大而无法回答,外部链接或参考资料会有所帮助。
我对库实现的细节也不感兴趣,只是一个概述就会有所帮助,这样我就可以React.createRef()
放心地或毫无疑问地使用。
慕丝7291255
繁花如伊
相关分类