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

React:如何在同一条件下渲染数值与组件

问题解决方法

你遇到的问题是因为在JSX里不能直接用+把字符串和React组件拼接——组件本质是JS对象,拼接时会被转成[object Object],所以才出现错误输出。

不需要给每个元素单独加条件,只要把要渲染的内容放在同一个条件返回块里就行,给你两种可行写法:

写法一:使用JSX片段(无额外DOM节点)

<div>
  {values.cost && values.price ? (
    <>
      {values.gain}€
      <Button aria-label="copy1"><MdIcons.MdContentCopy/></Button>
    </>
  ) : ""}
</div>

写法二:用span包裹(生成额外DOM节点,适合需要统一样式的场景)

<div>
  {values.cost && values.price ? (
    <span>
      {values.gain}€
      <Button aria-label="copy1"><MdIcons.MdContentCopy/></Button>
    </span>
  ) : ""}
</div>

核心逻辑就是:条件满足时,返回包含文本和组件的JSX内容,而不是把它们当成字符串拼接。

内容的提问来源于stack exchange,提问作者Germán

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 05:33:27