如何用字符串中的表达式插入JSX?

ben*_*e89 36 reactjs

希望实现以下目标:

<div className="total total-{obj.state}">
Run Code Online (Sandbox Code Playgroud)

显然,这符合:

<div class="total total-{obj.state}">
Run Code Online (Sandbox Code Playgroud)

在JSX中有一种优雅的方式来评估{}字符串中的表达式吗?

And*_*ahl 59

试试这个:

<div className={'total total-' + obj.state}>
Run Code Online (Sandbox Code Playgroud)

请记住,一切之间{,并}仅仅是JavaScript,因此表达的是'total total-' + obj.state,然后将其设置为类DOM节点.

  • 如果你正在使用babel,你也可以开始使用字符串模板与反引号`\``.所以在这个例子中你要使用:```div className = {`total total - $ {obj.state}`}>`` (11认同)

jac*_*per 37

您可以使用react表达式,然后使用javascript es6字符串插值

像这样的东西:

<div someProp={`${SomeConstOrVariableOrExpression} simple text`}></div>
Run Code Online (Sandbox Code Playgroud)

  • 这是进行字符串插值的最佳方法 (6认同)
  • 我也更愿意接受这个答案。 (3认同)