我想在加载最终头像图像时加载不同的图像(假头像)。这个想法是检测何时加载道具图像并更改状态。可能吗?一些想法?谢谢!
class ImageUser extends React.Component {
constructor(props) {
super(props);
this.state = {userImageLoaded: false};
let imageSrc = "";
if (!this.props.userImage) {
imageSrc = this.props.noUserImage;
} else {
imageSrc = this.props.userImage;
}
this.loadingImage = <img className={styles.imageUser}
src={this.props.loadingImage} alt="2"/>;
this.userImage =
<img onLoad={this.setState({userImageLoaded: true})}
className={styles.imageUser} src={imageSrc}
alt="1"/>;
}
render() {
let image = "";
if (this.state.userImageLoaded) {
image = this.userImage;
} else {
image = this.loadingImage;
}
return (
<div>
{image}
</div>
);
}
}
export default ImageUser;
原文由 Sergio Jimenez Corominas 发布,翻译遵循 CC BY-SA 4.0 许可协议
有几种方法可以做到这一点,但最简单的是隐藏显示最终图像,然后在加载后将其翻转为可见。
JSBin 演示