Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/21.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.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 将自定义道具添加到React组件中的this.props.children_Javascript_Reactjs - Fatal编程技术网

Javascript 将自定义道具添加到React组件中的this.props.children

Javascript 将自定义道具添加到React组件中的this.props.children,javascript,reactjs,Javascript,Reactjs,我有一个接受孩子的组件。比方说 <Toolbar><div>C1</div><div>C2</div></Toolbar> 我怎样才能做到这一点 谢谢大家! 编辑;我的意思是 {children.map((Child,index)=> <Child {...newProps}/>)} {children.map((Child,index)=>)} 您可以使用React.Children.map然后Rea

我有一个接受孩子的组件。比方说

<Toolbar><div>C1</div><div>C2</div></Toolbar>
我怎样才能做到这一点

谢谢大家!

编辑;我的意思是

{children.map((Child,index)=> <Child {...newProps}/>)}
{children.map((Child,index)=>)}

您可以使用
React.Children.map
然后
React.cloneElement
在添加新道具后返回子对象

    {React.Children.map(children, child => {
                return React.cloneElement(child, {
                    ...newProps
                });
            })}

假设子元素是一个数组,您可能还希望为每个项添加一个键属性——但我会检查您的所有组件是否正确地从它们定义的文件中导出,并正确地导入。我也想看看你是怎么定义的。
    {React.Children.map(children, child => {
                return React.cloneElement(child, {
                    ...newProps
                });
            })}