第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何在react-slick輪播中執(zhí)行slickNext方法?

如何在react-slick輪播中執(zhí)行slickNext方法?

慕俠2389804 2023-07-20 16:27:56
我有以下帶有 Slick 輪播的 React 應(yīng)用程序。我創(chuàng)建了一個(gè)自定義“下一步”按鈕,需要執(zhí)行該slickNext()方法才能繼續(xù)到下一張幻燈片。Slick carousel 文檔和一些問(wèn)題的答案都提到了以下調(diào)用方法的方式slickNext()。問(wèn)題是我收到錯(cuò)誤 slider.slick is not a function。這是我到目前為止所嘗試過(guò)的gotoNext = () => {    var slider = document.getElementsByClassName("sliderMain")[0];    console.log("set", slider)    slider.slick("slickNext");}const SampleNextArrow = (props) => {        const { className, style } = props;        return (            <div                className={className}                onClick={this.gotoNext}            />           );        }    const settings = {        dots: true,        infinite: false,        speed: 500,        slidesToShow: 1,        slidesToScroll: 1,        swipe: false,        nextArrow: <SampleNextArrow className="customSlickNext" />,    };    <Slider       id="sliderMain"       {...settings}       className="sliderMain"       afterChange={this.changeSlide}    >{ /* slider goes here */}    </Slider>我該如何解決這個(gè)問(wèn)題?
查看完整描述

2 回答

?
婷婷同學(xué)_

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


查看完整回答
反對(duì) 回復(fù) 2023-07-20
?
HUH函數(shù)

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>

     


查看完整回答
反對(duì) 回復(fù) 2023-07-20
  • 2 回答
  • 0 關(guān)注
  • 486 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)