【发布时间】:2020-04-04 09:24:56
【问题描述】:
我有一个像这样的通用组件
const Img = ({ component }) => {
const image_ref = useRef()
return (
<>
{component
ref={image_ref}
}
</>
)
}
我想将它与其他类似的组件一起使用
const MyImg = () => <Img component={<MySpecificImg />} />
const MyBackImg = () => <Img component={<MySpecificBackImg />} />
有什么办法吗?
需求是能够改变<Img/>组件调用的组件
【问题讨论】:
-
你可以试试HOC组件。
-
@ManirajSS with HOC 我不能使用 useRef 或 useState 因为该函数不是组件(AFAIU)所以我想我不能使用它 |||我想在这里避免任何与类相关的 React
-
@NickParsons 谢谢 :) 第一个答案不允许我向组件添加更多道具,所以如果这是真的我不能使用它,第二个答案使用我不使用的 cloneElement '不像这里,它必须是一个更简单的解决方案
-
我知道 HOC 可以做到这一点,正如您的问题 stackoverflow.com/a/31757397/826815 的回答中所说,所以我会回答是的,感谢您告诉我!
标签: javascript reactjs react-props react-component