首页  >  问答  >  正文

keen-slider与数据获取功能不兼容

<p>我想要获取公共数据并使用keen-slider来显示它们。然而,它似乎工作得不太好,特别是当我尝试添加左右箭头时。它们不会显示出来。另一个问题是滑块在第一次加载时会冻结,只有在调整窗口大小后才会移动。</p> <pre class="brush:php;toolbar:false;">const [data, setData] = useState([]); const [options, setOptions] = useState({}); const [currentSlide, setCurrentSlide] = useState(0); const [loaded, setLoaded] = useState(false); const [sliderRef, instanceRef] = useKeenSlider(options); useEffect(() => { fetch("./data.json") .then((response) => response.json()) .then((json) => { console.log(json); setData(json); }); setOptions({ initial: 0, slides: { origin: "center", perView: "3", spacing: 25 }, slideChanged(slider) { setCurrentSlide(slider.track.details.rel); }, created() { setLoaded(true); } }); }, []);</pre> <p>请在[此处](https://codesandbox.io/s/delicate-butterfly-d4vp5k?file=/src/App.js)查看完整代码。</p> <p>我按照这些帖子1帖子2中的建议,在获取数据时更新了<code>useKeenSlider</code>中的选项。这有助于缓解错误消息,但并未完全解决问题。</p> <p>我还按照这里的示例添加了箭头。</p> <p>欢迎提出任何建议!</p>
P粉208286791P粉208286791453 天前558

全部回复(1)我来回复

  • P粉268284930

    P粉2682849302023-08-16 16:16:33

    我认为你的映射数据失败了,所有的结果是:

    <div className="keen-slider__slide number-slide1">1</div>
    但我们期望的结果是:

    <div className="keen-slider__slide number-slide1">1</div>
          <div className="keen-slider__slide number-slide2">2</div>
          <div className="keen-slider__slide number-slide3">3</div>
          <div className="keen-slider__slide number-slide4">4</div>
          <div className="keen-slider__slide number-slide5">5</div>
          <div className="keen-slider__slide number-slide6">6</div>

    回复
    0
  • 取消回复