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

React.js中如何渲染带换行与空格的JSX文本?

解决React中渲染格式化文本的问题

方案1:使用<pre>标签

<pre>是HTML原生预格式化标签,会完整保留文本中的换行、空格和缩进,和控制台显示效果完全匹配,直接包裹目标文本即可:

<div>
  <h5>Prompt:</h5>
  {answer[0]}
  <br />
  <h5>Generated Output:</h5>
  <pre>{answer[1]}</pre>
</div>

方案2:通过CSS样式实现

如果需要自定义文本样式(比如字体、行高),可以给容器添加white-space: pre-wrap属性,该属性会保留换行和空格,同时支持文本自动换行适应容器宽度:

内联样式写法

<div>
  <h5>Prompt:</h5>
  {answer[0]}
  <br />
  <h5>Generated Output:</h5>
  <div style={{ whiteSpace: 'pre-wrap', fontFamily: 'monospace' }}>{answer[1]}</div>
</div>

类样式写法(更易复用)

先定义CSS类:

.formatted-code {
  white-space: pre-wrap;
  font-family: monospace; /* 可选:模拟控制台等宽字体 */
  /* 可添加其他样式:比如行高、内边距等 */
}

再在组件中使用:

<div>
  <h5>Prompt:</h5>
  {answer[0]}
  <br />
  <h5>Generated Output:</h5>
  <div className="formatted-code">{answer[1]}</div>
</div>

以上两种方案都无需修改原始字符串,也不需要使用DangerouslySetInnerHTML,就能实现类似控制台的格式化渲染效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 08:35:18