【发布时间】:2021-04-30 12:35:01
【问题描述】:
我正在使用Swiper React 创建轮播。
在关注this issue 之后,我正在努力让它工作。
我创建了一个自定义钩子:
// useSwiperRef.ts
import { useState, useRef, useEffect } from 'react';
const useSwiperRef = () => {
const [wrapper, setWrapper] = useState(null);
const ref = useRef(null);
useEffect(() => {
setWrapper(ref.current);
}, []);
return [wrapper, ref];
};
export default useSwiperRef;
还有我的旋转木马:
import useSwiperRef from 'useSwiperRef.js';
const Slider = () => {
const [nextEl, nextElRef] = useSwiperRef();
const [prevEl, prevElRef] = useSwiperRef();
return (
<Container>
<Swiper
navigation={{
prevEl,
nextEl,
}}
>
<SwiperSlide>1</SwiperSlide>
<SwiperSlide>2</SwiperSlide>
<SwiperSlide>3</SwiperSlide>
</Swiper>
<Nav ref={prevElRef} />
<Nav ref={nextElRef} />
</Container>
);
};
但我在prevEl 和nextEl 内的navigation {{}} 上收到以下打字稿错误:
键入'MutableRefObject | null' 不可分配给类型 'HTML元素 | CSS 选择器 |空 |不明确的'。类型 'MutableRefObject' 不可分配给类型 'HTMLElement | CSS 选择器 |空 |不明确的'。 “MutableRefObject”类型缺少“CSSSelector”类型的以下属性:charAt、charCodeAt、concat、indexOf 和 43 更多。
有人知道如何解决这个问题吗?
【问题讨论】:
标签: reactjs typescript swiper