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

React 16中的class vs className

孔琪
2023-03-14
问题内容

我看到React 16允许将属性传递给DOM。因此,这意味着可以使用“类”代替className,对吗?

我只是想知道仍然可以使用className而不是class来实现优势,除了可以向下兼容React的早期版本。


问题答案:

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

在这方面没有任何改变。

将其扩展更多。一个 关键字 意味着一个令牌有一个语言的语法具有特殊意义。例如:

class MyClass extends React.Class {

令牌class表示下一个令牌是标识符,其后是类声明。请参阅Javascript关键字+保留字。

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

// 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';

// invalid!
props.class = 'css';

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

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

没有这样的问题className



 类似资料:
  • 本文向大家介绍Webpack3+React16代码分割的实现,包括了Webpack3+React16代码分割的实现的使用技巧和注意事项,需要的朋友参考一下 项目背景 最近项目里有个webpack版本较老的项目,由于升级和换框架暂时不被leader层接受o(╥﹏╥)o,只能在现有条件进行优化。 webpack v3配置检查 很明显项目的配置是从v1继承过来的,v1->v3的升级较为简单,参考官网ht

  • 本文向大家介绍React16新特性有哪些?相关面试题,主要包含被问及React16新特性有哪些?时的应答技巧和注意事项,需要的朋友参考一下 1.使用Error Boundary处理错误组件 2.render支持2种新的返回类型(数组、字符串) 3.使用createProtal 将组件渲染到当前组件树之外 4.自定义DOM属性 :把不会识别的属性传递给DOM 5.setState传入null时不会再

  • 本文向大家介绍react16的reconciliation和commit分别是什么?相关面试题,主要包含被问及react16的reconciliation和commit分别是什么?时的应答技巧和注意事项,需要的朋友参考一下 React 16 三个核心: Scheduler 调度器:决定什么时候调度 Reconciler Reconciler 协调器:进行 Fiber diff 及新的 Fiber

  • 我最近升级到光纤了。在15中,当组件更新时,更新堆栈跟踪如下所示 您如何在Fiber(React 16)中找到更新的起源?

  • 本文向大家介绍react16跟之前的版本生命周期有哪些变化?相关面试题,主要包含被问及react16跟之前的版本生命周期有哪些变化?时的应答技巧和注意事项,需要的朋友参考一下

  • 本文向大家介绍React16废弃了哪些生命周期?为什么?相关面试题,主要包含被问及React16废弃了哪些生命周期?为什么?时的应答技巧和注意事项,需要的朋友参考一下 React16废弃的生命周期有3个will: componentWillMount componentWillReceiveProps componentWillUpdate 废弃的原因,是在React16的Fiber架构中,调和过

  • 我使用子JPanel构造JScrollPane,然后尝试将JScrollPane添加到父JPanel中,希望有一个可滚动的自定义JPanel。 我有一个大的细白线前面的所有我的组件,他们是没有滚动。有什么想法吗?

  • 我已经为android Studio创建了一个webview应用程序。但没有加载web URL。错误为NET::ERR_ACCESS_DENIED。有谁能帮忙吗