首页 > 解决方案 > 声明后向 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 中对其进行硬编码,以便在将来发生任何更改时更容易找到。

标签: javascriptreactjsjsx

解决方案


如您所知,在 JSX 中放置<>围绕函数引用将应用该函数组件。

您不想在定义item对象时应用组件,只想保留对它的引用以供以后应用:

let item = {
    element: myElement,
    color: "#0e76a8"
}

此外,正如评论中所述,您将colorCSS 样式设置为 string "item.color",而我们可以安全地假设您的意思是color: item.color


推荐阅读