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

React多行字符串反斜杠渲染及unterminated string literal报错问题

JSX属性中多行字符串的正确书写方式

问题原因

在JSX中直接通过单/双引号给属性传字符串值时,内容会按静态字面量规则解析:

  • 行尾添加的反斜杠\不会被识别为JavaScript语法里的字符串续行标记,会直接作为普通字符被存入字符串,最终渲染到页面中
  • 直接在引号内部换行会触发未闭合字符串的语法报错;如果没有用大括号标记表达式区域,哪怕用+做字符串拼接,也会被解析为普通字符串内容,达不到预期效果

正确实现方式

用ES6模板字符串(反引号`)包裹多行文本,同时属性值外层必须包裹大括号{},告诉JSX解析器括号内是需要执行的JavaScript表达式,而非静态字符串:

<H 
  header="Header" 
  subheader={`Lorem ipsum dolor sit amet, consectetur adipiscing elit,
  sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.`}
/>

注意事项

模板字符串会完整保留内部的换行和缩进空格,如果最终渲染的文本不需要这些多余空白,可以按需处理:

  • 书写续行文本时手动对齐,减少不必要的前置缩进
  • 把长文本提前定义为组件外部的常量,处理完多余空白后再传入组件属性

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 10:48:19