使用 react-slick 在轮播中显示反应组件
Displaying react components in carousel using react-slick
我正在尝试使用 react-slick 在轮播中显示我的自定义组件:
<Slider {...settings}>
<Hello />
<Hello />
</Slider>
但是react-slick好像不支持这样的使用方式。
JsFiddle 演示
它的工作原理,就是对轮播进行样式设置。我已经更新了你的 fiddle 以证明它有效:https://jsfiddle.net/ox1ujxa4/1/
只是做了一些小的样式:
<div style={{display: 'inline-block', width: 500}}>
Hello
</div>
我今天遇到了这个问题。我有一个无状态的 Slide 组件,我正在做这样的事情:
<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>
将包装器添加到组件,它应该可以工作。
<Slider {...settings}>
<div>
<Hello />
<Hello />
</div>
</Slider>
你需要用 <div>
:
包装你的 React 组件
<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
、tabindex
和 style
属性将添加到 <div>
我正在尝试使用 react-slick 在轮播中显示我的自定义组件:
<Slider {...settings}>
<Hello />
<Hello />
</Slider>
但是react-slick好像不支持这样的使用方式。
JsFiddle 演示
它的工作原理,就是对轮播进行样式设置。我已经更新了你的 fiddle 以证明它有效:https://jsfiddle.net/ox1ujxa4/1/
只是做了一些小的样式:
<div style={{display: 'inline-block', width: 500}}>
Hello
</div>
我今天遇到了这个问题。我有一个无状态的 Slide 组件,我正在做这样的事情:
<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>
将包装器添加到组件,它应该可以工作。
<Slider {...settings}>
<div>
<Hello />
<Hello />
</div>
</Slider>
你需要用 <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
、tabindex
和 style
属性将添加到 <div>