我有一个使用React图像库构建的图像滑块,并从电子商务项目的后端填充图像。当有一个产品的视频,显示视频图像,当点击图像播放视频内的旋转木马。
我曾试图实现React图像画廊演示代码给出,但无法获得成功的结果。
<div className="leftSlider">
<ImageGallery ref={el => this.imagegallery = el}
thumbnailPosition={window.matchMedia('(min-width: 600px)').matches ? 'left' : 'bottom'}
showFullscreenButton={false}
showPlayButton={false}
showNav={false}
renderItem={this.imageHover}
showThumbnails={this.showThumbnails(Object.keys(this.state.images) ? this.state.images[selectedVariant] : [])}
items={Object.keys(this.state.images) ? this.state.images[selectedVariant] : []}
onSlide={(slide) => this.onslide(slide)}/></div>
预期结果与react-image-gallery演示中显示的完全相同
https://www.npmjs.com/package/react-image-gallery
3条答案
按热度按时间yc0p9oo01#
这里有一个由软件包作者创建的例子,他使用自定义itemRender来渲染视频媒体。他在描述点击时渲染视频,但你当然可以改变它以立即在滑块中渲染视频。
可以看到整个应用程序:https://github.com/xiaolin/react-image-gallery/blob/master/example/app.js
tktrz96b2#
我用它玩了一下,我用一个简单的视频标签渲染实现了它。
我为图库渲染创建了一个单独的文件(
galleryRenders.tsx
),以防将来我需要更多。到目前为止,它只包含以下内容:我的媒体数组还包含
type
属性,它可以是任何值,但如果它具有值video
,我就可以将renderItem property
附加到它因此,在将媒体项作为属性分配给
<ImageGallery items={media} />
之前,循环遍历它回路:
k4aesqcs3#
你可以使用这个,我刚刚使用了一个renderVideo函数与iframe,检查这个。插入一个renderItem在您的对象视频
然后在react-image-gallery中的ImageGallery组件中这样使用它。