【发布时间】:2021-12-09 20:44:04
【问题描述】:
我目前正在进行编码训练营的最终项目,但我似乎无法弄清楚一件事(但不确定是否可能)。
我有一个活动列表,我将每个活动映射到一张卡片中(效果很好)。现在我想将这些卡片放入 React Bootstrap Carousel 并一次显示 4 张卡片。当我按下其中一个指示器时,它应该滑到下一张(或上一张)卡片(而不是接下来的 4 张卡片)。我唯一能开始工作的就是在轮播中有 1 张卡片。
希望有人可以帮助我。
感谢您从非开发人员到即将成为 noobDeveloper。
这是我的代码:
import React, { useState, useEffect } from "react";
import "./Cardslider.css";
import Explorecard from "./Explorecard/Explorecard";
import axios from "axios";
import Carousel from "react-bootstrap/Carousel";
function createCard(area) {
return (
<Carousel.Item>
<div>
<Explorecard image={`images/${area.area}.jpg`} title={area.area} />
</div>
</Carousel.Item>
);
}
const Cardslider = (props) => {
const [listOfActivities, setListOfActivities] = useState([]);
const getAllActivities = () => {
axios
.get("http://localhost:9999/activities")
.then((responseFromApi) => {
console.log(responseFromApi);
setListOfActivities(responseFromApi.data);
})
.catch((error) => console.error(error));
};
useEffect(getAllActivities, []);
return (
<div className="cards-container">
<Carousel className="explore-card-carousel" indicators={false}>
{listOfActivities.map(createCard)}
</Carousel>
</div>
);
};
export default Cardslider;
【问题讨论】:
-
一开始4张卡全部显示,点击后只显示1张?还是从一开始就只有一个?
-
只显示一张卡片。我希望它同时显示 4 张卡片。
-
我认为它很奇怪。可以尝试登录
listOfActivities.map(createCard)并查看是否有 4 张卡。如果是,请查看 DOM 的元素并查看是否有 4 张卡片。如果是,我不知道:) -
不幸的是它只显示了 1 张卡片。
标签: javascript reactjs react-bootstrap