Reactjs React Swiper.js slide won';使用onSlideChange方法更新状态时不会更改

Reactjs React Swiper.js slide won';使用onSlideChange方法更新状态时不会更改,reactjs,react-hooks,swiper,swiperjs,Reactjs,React Hooks,Swiper,Swiperjs,我将swiper.js设置为使用ReactJS浏览不同的问题。 我试图用swiper的onSlideChange方法更改{quesNumber}状态,该方法应根据当前问题的编号(“q-{quesNumber}”)设置“q”URL参数。 我已经设法做到了,但是它被卡在了第一张幻灯片上,没有更改到下一张。 我在控制台上收到此错误: Uncaught TypeError: Cannot read property 'removeClass' of undefined at Swiper.upd

我将swiper.js设置为使用ReactJS浏览不同的问题。 我试图用swiper的onSlideChange方法更改{quesNumber}状态,该方法应根据当前问题的编号(“q-{quesNumber}”)设置“q”URL参数。 我已经设法做到了,但是它被卡在了第一张幻灯片上,没有更改到下一张。 我在控制台上收到此错误:

Uncaught TypeError: Cannot read property 'removeClass' of undefined
    at Swiper.updateSlidesClasses (swiper.esm.js:753)
    at Swiper.slideTo (swiper.esm.js:1311)
    at Swiper.slideNext (swiper.esm.js:1383)
    at Swiper.onNextClick (navigation.js:45)
    at HTMLDivElement.handleEvent (dom7.esm.js:517)

 - Here is my code:

    

    import React, { useContext } from "react";
    import { useHistory } from "react-router-dom";

    // Import Swiper React components
    import SwiperCore, { Navigation, Pagination, A11y } from "swiper";
    import { Swiper, SwiperSlide } from "swiper/react";
    import { Context } from "../Context";

    // Import Swiper styles
    import "swiper/swiper.scss";
    import "swiper/components/navigation/navigation.scss";
    import "swiper/components/pagination/pagination.scss";
    import "swiper/components/scrollbar/scrollbar.scss";

    function Carousel() {
      let { quesNumber, setQuestNumber } = useContext(Context);

      let history = useHistory();

      function nextQuestion() {
        setQuestNumber(quesNumber + 1);
        history.push(`/q-${quesNumber + 1}`);
      }

      SwiperCore.use([Navigation, Pagination, A11y]);

      
      return (
        <Swiper
          loop={false}
          slidesPerView={"auto"}
          navigation
          spaceBetween={0}
          freeMode={true}
          pagination={{ clickable: false }}
          // onSwiper={() => (setQuestNumber(quesNumber ++))}
          onSlideChange={() => nextQuestion()}
          // onClick={() => console.log(nextQuestion())}
        >
          <SwiperSlide>slide 1</SwiperSlide>
          <SwiperSlide>slide 2</SwiperSlide>
          <SwiperSlide>slide 3</SwiperSlide>
          <SwiperSlide>slide 4</SwiperSlide>
        </Swiper>
      );
    }

    export default Carousel;
Uncaught TypeError:无法读取未定义的属性'removeClass'
在Swiper.updateSlidesClasses(Swiper.esm.js:753)
在Swiper.slideTo(Swiper.esm.js:1311)
在Swiper.slideNext(Swiper.esm.js:1383)
点击Swiper.onNextClick(navigation.js:45)
在htmldevelment.handleEvent(dom7.esm.js:517)
-这是我的密码:
import React,{useContext}来自“React”;
从“react router dom”导入{useHistory};
//导入Swiper组件
从“swiper”导入SwipCore,{导航,分页,A11y};
从“Swiper/react”导入{Swiper,SwiperSlide};
从“./Context”导入{Context};
//导入泳衣样式
导入“swiper/swiper.scss”;
导入“swiper/components/navigation/navigation.scss”;
导入“swiper/components/pagination/pagination.scss”;
导入“swiper/components/scrollbar/scrollbar.scss”;
函数旋转木马(){
让{quesNumber,setQuestNumber}=useContext(Context);
让历史=使用历史();
函数nextQuestion(){
设置任务编号(任务编号+1);
push(`/q-${quesNumber+1}`);
}
使用([导航,分页,A11y]);
返回(
(setQuestNumber(quesNumber++)}
onSlideChange={()=>nextQuestion()}
//onClick={()=>console.log(nextQuestion())}
>
幻灯片1
幻灯片2
幻灯片3
幻灯片4
);
}
导出默认旋转木马