You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在JavaScript对象中使用JSX?解决显示e=mc[object Object]问题

解决JS对象中使用JSX显示[object Object]的问题

你遇到的问题根源在于:JSX本质是React.createElement()的调用结果,是一个JavaScript对象,当你把它放进模板字符串${}里时,JS会自动调用这个对象的toString()方法,最终得到[object Object],所以才会出现e=mc[object Object]的错误显示。

下面是两种正确的实现方式:

方法一:直接用JSX片段作为message的值

把message定义成JSX元素(用<>空片段包裹多元素),渲染时直接输出这个JSX即可:

const anyThing = [
    {
        id: 1,
        username: "alberteinstein1879",
        message: <>e=mc<sup>2</sup></>
    }
]

在React组件里渲染时,写{item.message}就能正确显示带上标的公式。

方法二:用数组组合字符串和JSX元素

如果需要拆分字符串与JSX部分,可以用数组存储,React会自动遍历数组并渲染每个元素(注意给JSX元素加唯一key):

const anyThing = [
    {
        id: 1,
        username: "alberteinstein1879",
        message: ["e=mc", <sup key="sup-2">2</sup>]
    }
]

渲染时同样用{item.message},就能得到正确的e=mc²效果。

内容的提问来源于stack exchange,提问作者saleh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 01:46:47