4

我正在尝试使用 react-slick 在轮播中显示我的自定义组件:

    <Slider {...settings}>
        <Hello />
        <Hello />
    </Slider>

但似乎 react-slick 不支持这种使用方式。

JsFiddle 演示

https://jsfiddle.net/jqLzpewm/

4

4 回答 4

4

它有效,这完全是关于设计旋转木马的样式。我已经更新了你的小提琴以表明它有效:https ://jsfiddle.net/ox1ujxa4/1/

只是做了一些小的造型:

<div style={{display: 'inline-block', width: 500}}>
  Hello
</div>
于 2016-07-08T14:52:06.390 回答
1

我今天遇到了这个问题。我有一个无状态的幻灯片组件,我正在做这样的事情:

<Slider {...settings}>
    {
        slideTitles.map((title) => {
            return <Slide title={title} />;
        });
    }
</Slider>

幻灯片堆叠在一起,好像所有幻灯片都被视为一张幻灯片的一部分。

我注意到 react-slick 没有将它应该应用于每张幻灯片的属性,即:

<div data-index="3" 
     class="slick-slide" 
     tabindex="-1" style="outline: none; width: 146705px;" 
     data-reactid=".0.0.1.0.$original3">

这是解决方案(至少对于无状态组件):

<Slider {...settings}>
{
    slideTitles.map((title) => {
        return Slide({title});
    });
}
</Slider>

提琴手

于 2017-08-11T16:54:55.283 回答
1

你需要用以下包装你的 React 组件<div>

 <Slider {...settings}>
    <div>
        <Hello />
    </div>
    <div>
        <Hello />
    </div>
 </Slider>

或者:

<Slider {...settings}>
    {
        slideItems.map((slideItem) => (
            <div key={slideItem.id}>
                <Slide title={slideItem.title}/>
            </div>
        ))
    }
</Slider>

data-index, class,tabindexstyle属性将被添加到<div>

于 2017-12-07T13:12:33.917 回答
0

将包装器添加到组件中,它应该可以工作。

 <Slider {...settings}>
    <div>
        <Hello />
        <Hello />
      </div>
 </Slider>
于 2017-09-14T06:19:39.533 回答