我正在使用 react-slick,如何将 React 组件导出为单个元素,但在渲染时删除父级 div

I'm using react-slick, how can I export a React Component as a single element but remove the parent div on render

我有一个使用 react-slick 在 react js 中构建的滑块

<Slider {...settings}>
   <FeatureSliderItems/>
 </Slider>

<FeatureSliderItems/>定义如下(包含要显示的幻灯片)

const FeatureSliderItems= () =>(
    <>
      <div className="slide-item">
         <h2 className="">Create multiple sub-account</h2>
      </div>
      <div className="slide-item">
         <h2 className="">Create multiple sub-account 2</h2>
      </div>
    </>
)

但我现在遇到的问题是如何让 <FeaturedSliderItems/> 中的 slide-items 出现在 <Slider/> 下作为 2 个同级幻灯片而不是在单个 div 中(在 <FeatureSliderItems/> 中导出,因为我只能在反应中的单个根元素下导出我的组件)

所以基本上我想要这个作为我的结果

<Slider ref={c => (this.slider = c)} {...settings}>
    <div className="slide-item">
      <h2 className="">Create multiple sub-account</h2>
    </div>
    <div className="slide-item">
      <h2 className="">Create multiple sub-account</h2>
    </div>
 </Slider>

而不是

<Slider ref={c => (this.slider = c)} {...settings}>
    <div>
      <div className="slide-item">
        <h2 className="">Create multiple sub-account</h2>
      </div>
      <div className="slide-item">
        <h2 className="">Create multiple sub-account</h2>
      </div>
    </div>
 </Slider>

这可能吗?

在我看来,您应该创建一个组件来呈现单个专题幻灯片项目。然后为每个项目使用该组件而不是单个组件来呈现多个。我只是在您的示例中看到重复的代码,这告诉我可以创建一个新组件。

<Slider {...settings}>
   {slideItems.map((item, index) => (
     <FeatureSliderItem key={index} item={item}/>
   )}   
 </Slider>

Slider的children需要传递一个元素数组。如果您不想在 Slider 之后使用 map 而只想使用 FeatureSliderItems。您可以更新 FeatureSliderItems return 元素数组。使用地图也是一样。

const FeatureSliderItems = () => [
  <div className="slide-item">
    <h2 className="">Create multiple sub-account</h2>
  </div>,
  <div className="slide-item">
    <h2 className="">Create multiple sub-account 2</h2>
  </div>,
];