+1
Antd Carousel - sử dụng useRef với typescript
Em đang sử dụng thư viện Ant Design với TypeScript. Em muốn dùng method của Carousel nhưng lại bị lỗi Esline và Build Product ạ. Mọi người giúp em với.
Thêm một bình luận
1 CÂU TRẢ LỜI
+3
Bạn phải pass CarouselRef
vào useRef
để biến slider nhận type, ngoài ra slider.current
có thể null nên cần check null trước khi .next()
.
Cách 1: Dùng non-null assertion
để nói dối slider.current
là luôn luôn non-null. Ngắn gọn nhưng cẩn thận khi dùng, bởi có thể 1 lý do nào đó slider
bị destroy, unmount,...
import { CarouselRef } from "antd/lib/carousel";
const slider = useRef<CarouselRef>(null!);
Cách 2: Cần check null trước khi dùng
import { CarouselRef } from "antd/lib/carousel";
const slider = useRef<CarouselRef>(null);
...
onClick={() => {
if (slider.current) {
slider.current.next();
}
}}
...
Mình cảm ơn ạ