0

我正在使用http://react-bootstrap.github.io/ Carousel 组件。在里面,有一个 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 组件内的视频。

我相信我可以在 CarouselItem 渲染方法中创建 EmbeddedVideo 并传递它的活动道具,但我不想复制粘贴整个 CarouselItem 来仅添加一个元素。

那么我该如何修改呢?或者还有其他方法可以使用 CarouselItem 控制 EmbeddedVideo?

4

1 回答 1

1

无论您在何处编写粘贴的 return 语句,都可以完全控制CarouselItem. 看起来你没有在CarouselItem.

如果您在谈论 的状态CarouselItem,则需要将回调函数CarouselItem作为 prop 传递,当其状态更改时将调用该函数,以便父组件可以适当地响应。

于 2014-11-15T04:57:27.680 回答