覆盖现有的react.js类
问题描述:
我正在使用http://react-bootstrap.github.io/ Carousel组件。在内部,有一个CarouselItem成分,所以它看起来像这样:覆盖现有的react.js类
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?
答
无论你写什么,你粘贴的返回语句都可以完全控制CarouselItem
的道具。看起来你没有在CarouselItem
上设置任何道具。
如果你在谈论CarouselItem
的状态,你需要传递一个回调函数CarouselItem
作为一个道具,当它的状态改变时它会被调用,以便父组件可以做出适当的响应。