【问题标题】:React Bootstrap Carousel反应引导轮播
【发布时间】: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


【解决方案1】:

在使用 Carousel.Item 标签之前,您必须使用 Carousel 标签。

【讨论】:

  • 在这种情况下,使用一些示例代码更新您的答案会有所帮助,它会更好地说明您的观点,因为看起来 OP 已经在这样做了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-08
  • 2014-03-10
相关资源
最近更新 更多