我正在使用http://react-bootstrap.github.io/轮播组件。里面有一个CarouselItem组件,所以看起来像这样:
return (
<Carousel>
<CarouselItem key={obj.src1}>
<EmbeddedVideo provider={obj.provider1} videoId={obj.src1} />
</CarouselItem>
<CarouselItem key={obj.src2}>
<EmbeddedVideo provider={obj.provider2} videoId={obj.src2} />
</CarouselItem>
...
</Carousel>
);
一切正常,但是如何获得CarouselItem道具?我想在EmbeddedVideo内部侦听CarouselItem.props.active的道具更改,以确定它是否可见,如果不可见,请在EmbeddedVideo组件内部暂停视频。
我相信我只是可以创建EmbeddedVideo insidie CarouselItem渲染方法,然后传递它的活动属性,但是我不想复制粘贴整个CarouselItem来仅添加一个元素。
那么我该如何修改呢?还是有其他方法可以通过CarouselItem控制EmbeddedVideo?
最佳答案
无论您在何处编写粘贴的return语句,都可以完全控制CarouselItem
的属性。您似乎没有在CarouselItem
上设置任何道具。
如果您正在谈论CarouselItem
的状态,则需要将回调函数传递给CarouselItem
作为道具,该道具将在其状态改变时被调用,以便父组件可以适当地响应。