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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/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 React.createElement将道具传递给子组件_Javascript_Reactjs - Fatal编程技术网

Javascript React.createElement将道具传递给子组件

Javascript React.createElement将道具传递给子组件,javascript,reactjs,Javascript,Reactjs,我有一个react组件a,它得到一个组件B并将其作为子组件呈现 我正在使用以下工具渲染组件A: 我想通过组件B的一些道具,我该怎么做 不幸的是,我不能从父级使用JSX..,如果您不在那里创建元素,而只是将子级作为引用传递,那么您可能希望克隆它并抛出您想要的任何道具。看起来像这样 const clonedBElem = React.cloneElement(B, { someProp: 'someVal' }) React.createElement(A, A_props, [clonedBEle

我有一个react组件a,它得到一个组件B并将其作为子组件呈现

我正在使用以下工具渲染组件A:

我想通过组件B的一些道具,我该怎么做


不幸的是,我不能从父级使用JSX..

,如果您不在那里创建元素,而只是将子级作为引用传递,那么您可能希望克隆它并抛出您想要的任何道具。看起来像这样

const clonedBElem = React.cloneElement(B, { someProp: 'someVal' })
React.createElement(A, A_props, [clonedBElem])

只需克隆元素并像这样传递所需的道具<代码>React.createElement(A,A_props,React.cloneElement(B,{someProp:'someVal'}))。如果这对你有用的话,我可以把它写下来作为一个答案:)@JohnRuddell像魔术一样工作!是的,我希望这是一个答案。你能详细解释一下为什么不在数组中设置
React.cloneElement(B,{someProp:'someVal'})
吗?你只有一个孩子,如果你需要多个孩子,那就是一个数组。为了保持一致性,最好保留数组:)
const clonedBElem = React.cloneElement(B, { someProp: 'someVal' })
React.createElement(A, A_props, [clonedBElem])