Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 反应:检测子级是否具有特定的父级_Javascript_Reactjs - Fatal编程技术网

Javascript 反应:检测子级是否具有特定的父级

Javascript 反应:检测子级是否具有特定的父级,javascript,reactjs,Javascript,Reactjs,是否有一种更平滑、更清晰的方法来检测SeminarCard的父对象是否为Slider。目前我正在通过道具传递信息。道具值(真/假)用于一些额外的填充 独立的: <SeminarCard /> 在滑块中: <Slider> <SeminarCard insideSlider/> <SeminarCard insideSlider/> <SeminarCard insideSlider/> </Slide

是否有一种更平滑、更清晰的方法来检测SeminarCard的父对象是否为Slider。目前我正在通过道具传递信息。道具值(真/假)用于一些额外的填充

独立的:

<SeminarCard />

在滑块中:

<Slider>
    <SeminarCard insideSlider/>
    <SeminarCard insideSlider/>
    <SeminarCard insideSlider/>
</Slider>

使用React.Children,如下所示:

const Slider = (props) => {
  return (
    <div {...props}>
      {React.Children.map(props.children, (child) => {
        return React.cloneElement(child, {
          insideSlider: true,
        })
      })}
    </div>
  )
}
const滑块=(道具)=>{
返回(
{React.Children.map(props.Children,(child)=>{
返回React.cloneElement(子级{
里德斯莱德:没错,
})
})}
)
}
用法:

<Slider>
  <SeminarCard />
  <SeminarCard />
  <SeminarCard />
</Slider>


更多信息如何在这里工作,例如:

就我个人而言,这是一种更流畅、更清晰的方式,不会出错,也可以使用非常明显的Context API。