在 React 中连接变量和字符串
2022-08-30 00:43:57
有没有办法结合 React 的花括号符号和标签?假设我们在状态中有以下值:href
{this.state.id}
以及标记上的以下 HTML 属性:
href="#demo1"
id="demo1"
有没有办法将状态添加到HTML属性中以获得如下内容:id
href={"#demo + {this.state.id}"}
这将产生:
#demo1
有没有办法结合 React 的花括号符号和标签?假设我们在状态中有以下值:href
{this.state.id}
以及标记上的以下 HTML 属性:
href="#demo1"
id="demo1"
有没有办法将状态添加到HTML属性中以获得如下内容:id
href={"#demo + {this.state.id}"}
这将产生:
#demo1
你几乎是对的,只是放错了几个引号。将整个事情用常规引号括起来会从字面上给你字符串 - 你需要指出哪些是变量,哪些是字符串文本。由于其中的任何内容都是内联 JSX 表达式,因此您可以执行以下操作:#demo + {this.state.id}
{}
href={"#demo" + this.state.id}
这将使用字符串文本并将其连接到 的值。然后,这可以应用于所有字符串。请考虑以下情况:#demo
this.state.id
var text = "world";
还有这个:
{"Hello " + text + " Andrew"}
这将产生:
Hello world Andrew
您还可以将 ES6 字符串插值/模板文本与 ' (反引号) 和 (插值表达式) 一起使用,这更接近于您似乎要尝试执行的操作:${expr}
href={`#demo${this.state.id}`}
这基本上将替换 的值,将其连接到 。它等效于做: .this.state.id
#demo
"#demo" + this.state.id
连接道具/变量的最佳方式:
var sample = "test";
var result = `this is just a ${sample}`;
//this is just a test