反应类名定义

React classname definition

React 中的 className = 'name'className = {'name'} 有区别吗?我知道您可以在 {} 中使用变量,但我的问题是专门针对那些括号 {''} 中的字符串。我试图在代码中对此进行模拟,在我看来两者都是一样的。谁能证实这一点?

不,没有区别。当您写 {'name'} 时,它被解释为 'name'。就像你写 {'name' + 'name2' },它被解释为 'name name2'.

如果您写的是单个 class 名称,则两种表示法没有区别,即 className="name"className={'name'}

相等且相同

然而,当我们想要给出一个条件 class 时,我们使用这个 {} 符号。例如:

<p className={this.state.hidden ? "hidden" : ""}>Hello World</p>

如果状态变量 hidden 设置为 true,上面的行给 <p> 标签一个 class 隐藏。当我们想在渲染函数中编写 JavaScript 代码时,我们在 React 中使用花括号 {}。我们可以用它来连接两个字符串 class 名称或条件 class 名称。