javascript - react-responsive-carousel 没有正确显示
问题描述
我正在使用 react js 开发一个在线电子商务网站。在每个产品的详细信息页面上,我使用 react-responsive-carousel 来允许用户滑动浏览该特定产品的所有图像。我还希望下方有可供选择的缩略图。react-responsive-carousel 是一个完美的选择,因为它易于实现,而且外观/功能几乎完全符合我的要求。最初,一切正常,但由于某种原因,轮播停止正常显示。我的涉及轮播的代码和以前一样,所以我不确定问题是什么。
这是图像现在的显示方式:
如您所见,图像和缩略图都堆叠在一起。下一个/上一个按钮位于错误的位置,并且每个图像都带有一个项目符号。
这是整个产品详细信息页面的代码:
import React, { Component } from 'react';
import {ProductConsumer} from '../context.js';
import {Link} from 'react-router-dom';
import SizeSelector from './SizeSelector.js';
import {Carousel} from 'react-responsive-carousel';
export default class Details extends Component {
render() {
return (
<ProductConsumer>
{value => {
const {id, title, img, info, price, size} = value.detailProduct;
const images = img.map(index =>
<div>
<img className="img-fluid" key={id} src={index} alt="Product"/>
</div>
);
return (
<div className="mx-2 pb-5">
<div className="row">
<div className="col-10 mx-auto text-center my-5">
<h1>{title}</h1>
</div>
</div>
<div className="row">
<div className="col-10 mx-auto col-md-6 mb-3">
<Carousel>{images}</Carousel>
</div>
<div className="col-10 mx-auto col-md-6 mb-3">
<h3 className="mb-2">${price}</h3>
<p className="mb-5">{info}</p>
<SizeSelector />
<Link to="/products">
<button className="btn btn-black mr-5">Back to products</button>
</Link>
<span className="btn btn-black"
onClick={() => {
if (value.size === "")
{
value.openSizePrompt();
}
else
{
value.addToCart(id, value.size);
value.openModal(id, value.size);
}
}}>
Add to cart
</span>
</div>
</div>
</div>
)
}}
</ProductConsumer>
)
}
}
另外,我有一个包含产品数据的 javascript 文件。选择 storeProduct 时,产品的值将设置为 detailProduct。从那里,我可以获得有关该产品的所有数据。“img”是包含图像数组的对象。每个产品可能有不同数量的图像(通常是 2-4 个),所以我必须<div> <img/> </div>
使用该img.map
函数动态创建。
如果有人知道如何解决此问题,我将不胜感激。我真的不想通过实施我自己的轮播的努力。我非常乐意提供可能有助于解决问题的其他信息。
解决方案
我通过简单的导入解决了这个问题:
import 'react-responsive-carousel/lib/styles/carousel.min.css'
但是,在我遇到这个问题之前,如果没有这个导入,一切都会正常显示。我不确定是什么改变需要我这样做。
推荐阅读
- php - 在我的 WordPress 自定义插件“函数名称必须是字符串”中,我正在使用 $get_the_author_meta()
- java - 获取当前处理块的先前块值 - 弹簧批处理
- javascript - 如何解析无序列表
- 是兄弟姐妹
- flutter - 如何在颤动中显示/隐藏密码?
- java - 为什么javers快照表序列乘以100
- pandas - AWS Athena 错误解释时间戳列
- python - 更改 SQLALCHEMY_DATABASE_URI 以使用端口 3307
- python - 有没有办法编写只返回第 n 个元素的 css 选择器?
- python - 无法将 pdf 文件转换为 CSV 文件
- c# - 使用 oxyplot 在 WindowsForm 中绘图的问题