【发布时间】:2020-09-23 16:16:59
【问题描述】:
在我开始我的问题之前,请允许我澄清一下 - 这里的问题是对问题的简化,我正在为一个客户在很短的时间内为一个遗留项目开发一个已经很大的代码库,然后重新构建数据比试图弄清楚这一点需要更多的时间 - 我知道这不是尝试传递道具的理想方式,所以请不要只链接到有关如何传递道具的教程
它的要点是,我有一大堆对象,所有这些对象都具有以下属性{ icon: <SomeJSXReference /> }
我基本上创建了一个可重用的抽象组件,它根据某些传递的道具返回图标属性。
问题是,我需要将其中一个道具传递给icon 引用本身。
这是我写的一个粗略的伪组件,让它更清楚一点。
const objectsArray = [{ icon: <SpecificIcon /> }, /*...*/]
const Simplified = (props: { color: string }) => {
const { color } = props
const toRender = objectsArray.someOperationsLeadingToFinalObjectReference()
return toRender.icon
}
我需要做的是以某种方式将 stroke={color} 属性附加到 toRender.icon 指针内引用的 JSX
结果基本上在
-
<toRender.icon stroke={color} />(渲染为伪指针,注意小写) -
<SpecificIcon stroke={color} />(相当于上面的=应该返回的)^
注意:这不一定是 <SpecificIcon />,而是 toRender.icon 指向的任何 JSX.Element
我有什么办法可以做到这一点,我没有想到吗?
【问题讨论】:
-
如果
toRender.icon是一个组件,返回应该可以工作...注意 toRender.itemvsToRender.Icon -
问题是,我不知道
toRender.icon的结果是什么。基本上我需要<SpecificIcon stroke={color} />。所以我不能只是手动输入。<ToRender.icon />只是一个未定义的不存在元素。除非我以某种方式误解了你?
标签: javascript reactjs jsx react-props