Eli*_*ran 6 reactjs react-hooks swiper.js
我设置 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:
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;
Run Code Online (Sandbox Code Playgroud)
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;
Run Code Online (Sandbox Code Playgroud)
谢谢 :)
归档时间:
查看次数:
2197 次
最近记录:
“ReactNode”不是有效的 JSX 元素 24
React路由器仅模态路由 21
在React中改变对子组件的关注的更清洁的方法 14
React Hook 表单和 Material UI 的 TextField 中的不受控输入到受控输入警告 13
等待CSS加载,然后再在React [FOUC]中使用JS 11
为什么使用 redux 而不是会话存储 9
为什么我的字体很棒的图标一开始显示的很大,然后更新到正确的大小? 8
如何使用 i18next 和 react-i18next 处理嵌套和组织翻译键?以及其他最佳实践问题 8
使用状态设置器作为带有反应钩子的道具 7
我可以依靠 useState 值来计算新状态吗? 6