我对 React 很陌生,这就是我想要完成的事情:
我想显示一个需要 3-4 秒才能加载的大图像,所以我想向用户展示一个加载器,这可以使用https://www.npmjs.com/package/react-image中的 ReactImage 来实现
然后我想添加一个缩放选项,但是缩放功能应该只有在图像加载成功后才能使用,所以我打算使用https://www.npmjs.com/package/react-image-magnify
但是,没有任何事件或可能的方法可以使这 2 个相互通信它们的状态,因此在我的render()
函数中我可以选择使用 ReactImage 或 ReactImageMagnify。
任何帮助,将不胜感激。
这是一些伪代码,我有一个名为 的反应组件Preview
,它有一个render()
返回 ReactImage 或 ReactImageMagnify 的函数
export class Preview extends React.Component {
...
render() {
...
// if image is not yet loaded then return ReactImage
return(
<ReactImage
src={this.getPreviewUrl()}
className=""
style={{ zIndex: 1 }}
alt=""
loader={<LoadingImage />}
/>
)
//if not, return ReactImageMagnify
return(
<ReactImageMagnify {...{
smallImage: {
alt: 'Chef Works',
isFluidWidth: true,
src: 'smallimage.png'
},
bigImage: {
alt: 'Chef Works',
isFluidWidth: true,
src: 'bigimage.png'
}
}}/>
)
}
}