如何在模板文字中传递特殊字符“(连字符) - ”

时间:2017-07-31 08:44:12

标签: reactjs react-native

业余ReactNative开发人员,如何在模板文字中传递特殊字符连字符( - )。这样${hyphen inside} 比如说:

<Component text = `${this.props.color}` />

那么我如何以这样的方式编辑,无论何时传递颜色。它以这种方式通过:“ - 绿色”

4 个答案:

答案 0 :(得分:1)

您可以在模板文字大括号内执行常规JavaScript操作,例如:

${color ? ('-' + color) : null}

你的例子:

//                 if color exists   ?   return "-color"   :    else nothing
<Component text =`${this.props.color ? ("-" + this.props.color) : null}` />

答案 1 :(得分:0)

我很确定你说的是不可能的,但你可以改变你发送的道具(假设你有 {0} 作为占位符:

`${this.props.color.replace('{0}', '-')}`

如果是字符串。也许您有一个需要帮助的特定用例,请将其添加到您的问题中。

另一个例子:

`${'-'.concat(this.props.color)}`

会导致(假设this.props.color为'Green')“ - Green”

答案 2 :(得分:0)

如果您已在道具中存储炒作(任何变量),例如:this.props.hyp =“ - ”则使用:

<Component text = `${this.props.hyp}` />

否则只使用这个:

<Component text = `-`/>

答案 3 :(得分:0)

您可以将字符传递给${...}之外的

<Component text = `-${this.props.color}` />

查看演示代码段

var data = "Green"

console.log(`-${data}`);

如果您只想在this.props.color is可用时传递文字值,您可以使用ternary operator

<Component text = {this.props.color? `-${this.props.color}`: null} />