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

React.js如何不替换字符直接识别API返回字符串中的换行、回车、Tab符

React保留字符串特殊空白字符渲染方案

浏览器默认会合并所有连续的空白字符(包括换行、回车、制表符、空格)为单个空格,这是直接渲染时格式丢失的核心原因,以下方案都不需要修改API返回的原始数据,也无需遍历替换内容,仅修改渲染层逻辑即可生效。

方案1:使用CSS white-space 属性(最推荐)

直接给Item组件添加对应的CSS属性即可:

/* 对应Item组件的样式类 */
.item-content {
  /* 保留换行、制表符等空白格式,同时支持内容超出容器时自动换行 */
  white-space: pre-wrap;
}

如果用行内样式写法更简单:

<Item style={{ whiteSpace: 'pre-wrap' }}>{item.comment}</Item>

如果不需要自动换行,要求完全严格保留原始格式的换行位置,可以把属性值换成white-space: pre。

方案2:使用<pre>标签包裹内容

HTML原生的<pre>标签默认就会保留所有空白字符格式,直接包裹渲染内容即可:

<Item>
  <pre>{item.comment}</pre>
</Item>

如果需要和页面其他文字样式统一,需要重置<pre>的默认样式:

pre {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  color: inherit;
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 07:06:02