Reactjs 反应-获取组件的第一个节点?
如果我有如下组件:Reactjs 反应-获取组件的第一个节点?,reactjs,Reactjs,如果我有如下组件: const MyComp = () => ( <div> <span> ... </span> <p> ... </p> </div> ) constmycop=()=>( ... ) 我有一个函数,它以MyComp为参数,这个函数是否可以访问它的第一个元素(在这个例子中,它是一个div,但它可以是任何其他元素),这样它就可以向它添加一个属性?不,你不能。如
const MyComp = () => (
<div>
<span> ... </span>
<p> ... </p>
</div>
)
constmycop=()=>(
...
)
我有一个函数,它以
MyComp
为参数,这个函数是否可以访问它的第一个元素(在这个例子中,它是一个div
,但它可以是任何其他元素),这样它就可以向它添加一个属性?不,你不能。如果不传递prop
或甚至是ref
,就不能拥有MyComp
组件并将属性添加到div
元素
在这些场景中,您应该添加另一个包装器元素并对其应用这些属性
export default function Wrapper({children}) {
return (
<div data-value="5">
{children}
</div>
);
}
<Wrapper>
<MyComp/>
</Wrapper>
导出默认函数包装({children}){
返回(
{儿童}
);
}
您有一个接受返回JSX元素的函数吗?为什么不将所需的属性传递到MyComp
函数中,并在返回JSX元素之前添加它呢?这是我的repo中需要的行为,它当前包含100个这样的MyComp
组件。与其重构回购协议中的所有用法并添加新道具,我想创建一个HOC。为什么不以什么方式使用ref
?@sirwanaffi?您想添加什么属性,请提供完整的示例,您想添加样式吗?做一个包装,你想添加实际的道具吗?你不能。用例是什么?是的,我也是这么想的,只是想确定没有其他方法。。哦,好吧。谢谢