gpt4 book ai didi

reactjs - React 16 中的类与类名

转载 作者:行者123 更新时间:2023-12-03 12:54:43 24 4
gpt4 key购买 nike

我看到 React 16 允许将属性传递到 DOM。那么,这意味着可以使用“class”来代替 className,对吗?

我只是想知道除了向后兼容以前版本的 React 之外,仍然使用 className 是否还有其他优点。

最佳答案

class是javascript中的关键字,JSX是javascript的扩展。这就是 React 使用 className 而不是 class 的主要原因。

这方面没有任何改变。

进一步扩展一下。 关键字意味着标记在语言语法中具有特殊含义。例如:

class MyClass extends React.Class {

Token class 表示下一个标记是标识符,后面是类声明。请参阅Javascript Keywords + Reserved Words .

标记是关键字这一事实意味着我们不能在某些表达式中使用它,例如

// invalid in older versions on Javascript, valid in modern javascript
const props = {
class: 'css class'
}

// valid in all versions of Javascript
const props = {
'class': 'css class'
};

// invalid!
var class = 'css';

// valid
var clazz = 'css';

// valid
props.class = 'css';

// valid
props['class'] = 'css';

问题之一是没有人知道将来是否不会出现其他问题。每种编程语言仍在不断发展,class 实际上可以在一些新的冲突语法中使用。

className 不存在此类问题。

关于reactjs - React 16 中的类与类名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46989454/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com