我们正在使用样式组件在屏幕上渲染图像。我想要实现的是图像应该以惰性方式加载,我们首先加载分辨率较低的图像,然后加载高分辨率的图像。这就是我想要做的。
const Imagephone = styled.div`
// width: 25.5rem;
// width: 21rem;
width: 23.75rem;
height: 48.230rem;
margin: 0 auto;
background: ${props => props.primary ? "palevioletred" : "white"};
background-image: url(${props => !props.loaded || props.error ?
`https://some url`:
`https://some url2`
}) ;
background-repeat: no-repeat;
background-size: cover;
position: relative;
top: ;`
在我的课上我有这个
super(props);
this.state = {
loaded: false,
error: false
};
}
componentDidMount() {
const img = new Image();
debugger
img.onload = () => {
debugger
this.setState({
loaded: true
});
debugger
};
img.onerror = () => {
this.setState({
error: true
});
};
}```
and in my render i am doing this .
<Imagephone loaded={this.state.loaded} error={this.state.error} />
` 我担心的是,在组件安装和图像加载后,我们需要将加载状态设置为真,但这部分不会被执行。我没有看到 img.onload 被执行。我们如何在延迟加载图像的情况下实现它。
qq_遁去的一_1
慕侠2389804
相关分类