javascript - 声明后向 JSX.Element 添加属性
问题描述
如果我有一个元素,让我们说一个像这样的字典:
let item = {
element: <myElement/>,
color: "#0e76a8"
}
我可以在 render() 中向 item.element 添加样式属性吗?
我想象这样的事情会很好,但事实并非如此
return (
<div>
{<item.element style={{ color: "item.color" }/>}
</div>
);
JSX 或 React 有没有办法实现我想要的?
注意:我的目标是无法更改 item.color。只是我需要抽象,因为在我的代码中,我将列出不同的item
变量并使用所需的属性渲染每个变量,我不想在 JSX 中对其进行硬编码,以便在将来发生任何更改时更容易找到。
解决方案
如您所知,在 JSX 中放置<
和>
围绕函数引用将应用该函数组件。
您不想在定义item
对象时应用组件,只想保留对它的引用以供以后应用:
let item = {
element: myElement,
color: "#0e76a8"
}
此外,正如评论中所述,您将color
CSS 样式设置为 string "item.color"
,而我们可以安全地假设您的意思是color: item.color
推荐阅读
- javascript - 要求选中表格上的所有框
- python - 在 timeit.timeit() 中使用较大数字的时间更少?
- reactjs - 如何在请求中自动发送 cookie 内容?
- swift - 无法快速访问闭包内的变量
- python - Jupyter 错误 - 对于给定的一段代码,“内核似乎已经死亡,它将自动重新启动”
- c++ - 我没有得到销量最低的产品。我该如何纠正它?最后一行是最低销售产品的输出。谢谢
- javascript - 角度解析器无法解析?
- javascript - 用jquery改变指定位置的内容
- git - 以 /.git 目录结尾的 Git Repo 文件
- python - docker中的杀死进程离开内核线程