为什么会出现意外的模板字符串表达式错误?

IT技术 javascript reactjs gatsby eslint
2021-05-03 12:45:36

是否可以${adv_event.title}react-structured-dataJSX 中使用地图数组数据 ( )

我尝试添加反引号但没有成功: name: "`${adv_event.title}`",

尝试 1:

<Generic jsonldtype="event" schema={{
  name: "${adv_event.title}", 
  description: "",
  startDate: "YYYY-MM-DDT:HH:MM",
  endDate: "YYYY-MM-DDT:HH:MM",
  image: "",
}}>

错误:

296:31 警告意外的模板字符串表达式 no-template-curly-in-string

2个回答

这是 ESLint 生成的警告:no-template-curly-in-string

禁止在常规字符串中使用模板文字占位符语法(no-template-curly-in-string)

ECMAScript 6 允许程序员通过${variable}在两个反引号 (`) 之间编写表达式来创建包含变量或表达式的字符串,而不是使用模板文字而不是字符串连接当想要使用模板文字时,很容易使用错误的引号,通过编写"${variable}", 并以文字值结束,"${variable}"而不是包含注入表达式值的字符串。

如果您只想分配该变量,您应该这样做:

<Generic jsonldtype="event" schema={{
    name: adv_event.title, 
    description: "",
    startDate: "YYYY-MM-DDT:HH:MM",
    endDate: "YYYY-MM-DDT:HH:MM",
    image: "",
}}>

您的情况不需要模板字符串。

我一直遇到类似的问题,直到我意识到不应使用单引号或双引号 (''/ "")。该变量应仅包含在反引号 (``) 之间。