当前位置: 首页 > 面试题库 >

在React中串联变量和字符串

江嘉悦
2023-03-14
问题内容

有没有办法整合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)。否则,转换的执行就好像是通过调用不带参数的