2 回答

TA貢獻(xiàn)1844條經(jīng)驗(yàn) 獲得超8個(gè)贊
使用react-slick,您可以ref在<Slider>. 如果您使用鉤子,則可以使用以下命令來(lái)做到這一點(diǎn)useRef():
import React, { useRef } from 'react';
...
const sliderRef = useRef();
<Slider
ref={sliderRef}
...
>
</Slider>
然后,您可以sliderRef在函數(shù)中調(diào)用 Slick 方法:
gotoNext = () => {
sliderRef.current.slickNext();
}
可以在以下位置找到react-slick的可用方法:https://react-slick.neostack.com/docs/api/#methods

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超4個(gè)贊
當(dāng)我們?cè)谝粋€(gè)組件和其他組件中擁有slider自定義方法 時(shí)slickNext(),我有解決方案。slickPrev()
我們不能ref作為道具發(fā)送。我們應(yīng)該使用forwardRef
在react-slick中,你可以使用 forwardRef()on <Slider>。
//carousel.js(child)
import React, { useRef } from 'react';
const Carousel = React.forwardRef((props, ref) => {
<Slider
ref={ref}
...
>
</Slider>
})
ref現(xiàn)在您可以在父組件中訪(fǎng)問(wèn)
import Carousel from "./carousel";
let sliderRef = React.useRef();
<a onClick={()=>sliderRef?.current?.slickNext()}>Next</a>
<a onClick={()=>sliderRef?.current?.slickPrev()}>Prev</a>
<Carousel ref={sliderRef}></Carousel>
添加回答
舉報(bào)