问题
I'm wondering whats the best practice for strings values mixed with variables inside JSX tags, I've listed the options I'm familiar with:
render() {
const {totalCount} = this.state;
const totalCountStr = `Total count: ${totalCount}`;
return (
<div>
<h1>Total count: {totalCount}</h1> // 1
<h1>`Total count: ${totalCount}`</h1> // 2
<h1>{totalCountStr}</h1> // 3
</div>
);
}
What's the best practice or the use cases to use them differently?
Thanks!
回答1:
Template literals aren't supported by React JSX currently. The correct way to do it is like so:
<h1>Total count: {this.state.totalCount}</h1>
Edit: Your third way is also correct, but I personally wouldn't recommend it because of debug issues as you would need to scan for brackets as the code expands
<h1>{`Total count: ${this.state.totalCount}`}</h1>
来源:https://stackoverflow.com/questions/52169161/template-literals-as-string-content-in-jsx