【发布时间】:2018-11-02 14:39:07
【问题描述】:
我正在使用 JSX 渲染以下 HTML
<div data-things="{"somethingOne": 1, "somethingTwo": 22, "somethingThree": 'some string'}">
</div>
在 JSX 中我有
const data = `{
"somethingOne": ${valueOne},
"somethingTwo": ${valueTwo},
"somethingThree": ${valueThree}
}`;
返回
<div data-things={ data }><div>
这很好用,但现在我尝试在模板文字中添加条件以仅在值存在时显示属性-值对。
我尝试了很多变化,包括:
const data = `{
"somethingOne": ${valueOne},
${valueTwo} && "somethingTwo": ${valueTwo},
"somethingThree": ${valueThree}
}`;
条件渲染:
22 && "initialSlide": 22,
它显示值但返回条件语句语法而不是处理它。
我怎样才能使条件有效?我必须为每一个添加条件。
【问题讨论】:
-
Hm .. 看起来您正在尝试将 JSON 字符串化字符串传递给
data-things。我对吗?如果是这样 - 您可以尝试仅对对象文字进行字符串化,而不是进行字符串插值。 You can check my detailed answer.