How to wrap Carousel.Item in other component(如何将Carousel.Item包装在其他组件中)
本文介绍了如何将Carousel.Item包装在其他组件中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在此react-bootstrap
旋转木马中工作。当前代码运行正常:
function App() {
return (
<div className="App">
<h1>Hello CodeSandbox</h1>
<h2>Start editing to see some magic happen!</h2>
<Carousel>
<Carousel.Item>
<img
className="d-block w-100"
src="https://res.cloudinary.com/tpostr/image/upload/v1553865338/paparouna/IMG_7638-01.jpg"
alt="First slide"
/>
</Carousel.Item>
<Carousel.Item>
<img
className="d-block w-100"
src="https://res.cloudinary.com/tpostr/image/upload/v1553865338/paparouna/IMG_7638-01.jpg"
alt="First slide"
/>
</Carousel.Item>
</Carousel>
</div>
);
}
Demo working well
现在我正在尝试将Carousel.Item
与其他组件分开,这样我就可以使用它而无需重复。但图像未显示:
const CarouselItem = () => (
<Carousel.Item>
<img
className="d-block w-100"
src="https://res.cloudinary.com/tpostr/image/upload/v1553865338/paparouna/IMG_7638-01.jpg"
alt="First slide"
/>
</Carousel.Item>
);
function App() {
return (
<div className="App">
<h1>Hello CodeSandbox</h1>
<h2>Start editing to see some magic happen!</h2>
<Carousel>
<CarouselItem />
<CarouselItem />
</Carousel>
</div>
);
}
Demo with error
我尝试使用forwardRef
包装组件,但不起作用。我做错了什么?注意:我需要CarouselItem
成为组件/函数才能向其发送道具。
推荐答案
当您在单独的组件中呈现Carousel.Item
时,您需要将道具转发给它。
内部Carousel
将使用React.cloneElement
向Carousel.Item
添加额外的道具,当您使用自定义组件时需要转发给Carousel.Item
const CarouselItem = (props) => (
<Carousel.Item {...props}>
<img
className="d-block w-100"
src="https://res.cloudinary.com/tpostr/image/upload/v1553865338/paparouna/IMG_7638-01.jpg"
alt="First slide"
/>
</Carousel.Item>
);
Working demo
这篇关于如何将Carousel.Item包装在其他组件中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
织梦狗教程
本文标题为:如何将Carousel.Item包装在其他组件中


基础教程推荐
猜你喜欢
- Fabric JS绘制具有活动形状的多边形 2022-01-01
- 在 contenteditable 中精确拖放 2022-01-01
- 即使用户允许,Gmail 也会隐藏外部电子邮件图片 2022-01-01
- 原生拖动事件后如何获取 mouseup 事件? 2022-01-01
- Bokeh Div文本对齐 2022-01-01
- Bootstrap 模态出现在背景下 2022-01-01
- npm start 错误与 create-react-app 2022-01-01
- 如何添加到目前为止的天数? 2022-01-01
- 检查 HTML5 拖放文件类型 2022-01-01
- fetch 是否支持原生多文件上传? 2022-01-01