有没有办法整合React的花括号符号和href
标签?假设我们在状态中具有以下值:
{this.state.id}
以及标签上的以下HTML属性:
href="#demo1"
id="demo1"
有没有一种方法可以将id
状态添加到HTML属性中以获得类似这样的信息:
href={"#demo + {this.state.id}"}
这将产生:
#demo1
您几乎是正确的,只是放了一些引号。用正则引号将整个内容包装起来,就可以从字面上得到字符串#demo + {this.state.id}
-您需要指出哪些是变量,哪些是字符串。由于里面的任何内容{}
都是内联JSX 表达式 ,因此您可以执行以下操作:
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
。
我试图让一个语句起作用,但由于某些原因,它不起作用。应该很简单。 假设字符串 我的代码是: 两种规格的结果都是1。
问题内容: 以下语句, 产生输出。 但是,以下内容 产生。 区别在哪里? 问题答案: 您会因为操作符优先级和字符串转换的结合而看到此行为。 JLS 15.18.1 指出: 如果只有一个操作数表达式的类型为String,则对另一操作数执行字符串转换(第5.1.11节),以在运行时生成字符串。 因此,第一个表达式中的右侧操作数将隐式转换为字符串: 但是对于第二个表达式,必须将复合赋值运算符与一起考虑。
问题内容: 在C ++中,创建多行字符串的最佳规范方法是创建相邻字符串,并让编译器在编译时将它们连接起来,如下所示: 在Java中,我唯一知道的方法是串联: 问题是,这是在运行时生成单个字符串,还是Java实际上也在编译时进行连接?出现此问题的原因是由于以下行为: 问题答案: String s3 = “a”; s3 += “bc”; 与: 因此,它创建了一个新实例。 您甚至可以尝试:
假设我有以下片段: 我希望这段代码能够显示: 这使我认为运算符不适合连接字符串和变量。 您应该如何使用PowerShell来实现这一点?
问题内容: 我知道在PHP中我们可以做这样的事情: 输出: 我想知道JavaScript是否也可以实现同样的功能。在字符串内部使用变量而不使用串联-编写起来看起来更加简洁和优雅。 问题答案: 您可以利用模板文字并使用以下语法: 模板文字用 反 引号 (``) (重音)括起来,而不是双引号或单引号。 ES2015(ES6)中已引入此功能。 例 那有多干净? 奖金: 它还允许在JavaScript中使
问题内容: 为什么下面的工作?我希望会被抛出。 问题答案: 为什么必须起作用? 在JLS 5,第15.18.1.1节 JLS 8§15.18.1 “字符串连接运算符+” ,导致JLS 8,§5.1.11 “字符串转换”,要求该操作无故障成功: …现在只需要考虑参考值。如果引用为null,则将其转换为字符串“ null”(四个ASCII字符n,u,l,l)。否则,转换的执行就好像是通过调用不带参数的