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

React JS中如何让字符串内的换行符在组件渲染时正常生效?

React中字符串换行符\n渲染不生效的解决方案
  • 方案1:通过CSS属性控制(最推荐,无需修改字符串逻辑)
    你使用的Material UI Typography组件支持直接配置sx样式,给渲染ifAID的Typography添加whiteSpace: 'pre-line'属性即可,修改后代码如下:
<Typography variant="h6" sx={{ whiteSpace: 'pre-line' }}>
  {ifAID}
</Typography>

pre-line属性会自动识别字符串中的\n换行符,同时保留文本自动换行特性,适配容器宽度。

  • 方案2:拆分字符串手动插入换行标签
    将目标字符串按\n切割为数组,遍历渲染每一行内容,每一行末尾添加<br />换行标签:
<Typography variant="h6">
  {ifAID.split('\n').map((line, index) => (
    <>
      {line}
      <br key={index} />
    </>
  ))}
</Typography>
  • 方案3:替换换行符后插入HTML(不推荐,仅适合完全可控的安全字符串)
    如果你的字符串内容100%可控,没有用户输入的未知内容,可以把\n替换为<br />标签后通过dangerouslySetInnerHTML渲染,该方案存在XSS注入风险,非必要不使用:
<Typography 
  variant="h6" 
  dangerouslySetInnerHTML={{
    __html: ifAID.replace(/\n/g, '<br />')
  }} 
/>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 14:06:04