javascript - slickGoTo 不会更改活动幻灯片
问题描述
react-slick
我在我的 React 应用程序中添加了使用滑块。因为<Slider>
我添加了 ref,我正在尝试使用它来更改活动幻灯片:
import React, { useRef } from 'react';
import Slider from 'react-slick';
const TestSlider = () => {
const handleOnClick = index => {
sliderRef.slick('slickGoTo', index);
// also try sliderRef.slickGoTo(index);
};
<Slider {...settings} ref={sliderRef}>
...
</Slider>
}
但我得到一个错误:
TypeError:sliderRef.slick 不是函数
为什么这对我不起作用?
“反应”:“^16.6.3”,
“反应光滑”:“^0.27.12”,
解决方案
根据 react-slick 的slickGoTo() 文档,您需要传递一个函数作为 ref。就像是:
const handleOnClick = index => {
this.slider.slickGoTo(index);
};
<Slider {...settings} ref={slider => (this.slider = slider)}>
...
</Slider>
如果你想使用useRef
钩子创建一个 ref,它看起来像:
const sliderRef = useRef();
const handleOnClick = index => {
sliderRef.current.slickGoTo(index);
};
<Slider {...settings} ref={sliderRef}>
...
</Slider>
推荐阅读
- android - 带有 ChildFragmentManager 的 Fragment 内部的底部 NavigationView 创建重叠视图
- r - 根据 R 中的标准消除重复值
- postgresql - Postgres 存储函数输入检查开销,解释计时结果
- mysql - 可以将所有相关列放在单个表中吗?多表的选择查询会影响性能吗?
- python - 我是一个“if/else”语句,我可以让用户输入的变量等于不同的东西吗?
- c++ - 在 C++ 中按引用调用或按值调用
- css - 使用其他类属性的新类
- python - Python 初学者 - 多项选择测验程序遇到问题
- c# - 发生“System.Threading.Tasks.TaskCanceledException”类型的异常,但未在用户代码中处理
- ios - 从 Firebase 检索 notificationTypes 的问题