跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • Vue.js 的 JSX 中的 class attribute 为什么用 class,而不像 React 那样用 className
未分類
2021 年 2 月 6 日

Vue.js 的 JSX 中的 class attribute 为什么用 class,而不像 React 那样用 className

Vue.js 的 JSX 中的 class attribute 为什么用 class,而不像 React 那样用 className

資深大佬 : Cbdy 6

React 给出的解释是 class 是 JavaScript 的保留字

大佬有話說 (18)

  • 資深大佬 : kyuuseiryuu

    因为 react 是 HTML in js,本质上还是 js 。

    vue 是 HTML 标签的拓展。

  • 資深大佬 : hackyuan

    这个你都自问自答了,`class 是 Javascript 的保留字`。
    而 HTML 中只是标签上的一个属性而已。

  • 資深大佬 : David1119

    难道不应该反过来问吗?怎么反而成了 vue 不对了。。。。

  • 資深大佬 : anguiao

    反正都得经过 Babel 转译嘛,我觉得没差。

  • 資深大佬 : hjdtl

    一正确,此贴终结

  • 資深大佬 : murmur

    因为在 html 里就是 class 啊,react 才是为了偷懒啥封装都不做

  • 資深大佬 : mebtte

    别问, 问就是新的语法 新的体验

  • 資深大佬 : shintendo

    正确的问法:为什么 React 要用 className 而不是跟 HTML 一样用 class,明明 vue 的 JSX 证明了保留字不是问题

  • 資深大佬 : molvqingtai

    上正解,因为 React 团队偷懒 Vue.js 的 JSX 中的 class attribute 为什么用 class,而不像 React 那样用 className

  • 資深大佬 : yaphets666

    vue 的思路是尽量保证和原始 HTML,JS,CSS 一致.
    template 里头的东西称作为模板,会经过 vue-loader 的处理.写什么都可以.
    class 和原生一样,并且意义是一致的,就是添加类名,当然选择 class 更符合直觉.
    这就是 vue 更加简单,容易学习的原因.尽量做的和原生一样.

  • 資深大佬 : soulmt

    这事又没有标准答案,都是开发者基于自己的逻辑来约定的而已, 不用太过于纠结。

  • 資深大佬 : robinlovemaggie

    说到这个就要刨根究底 React 和 Vue 本质上不同之处了:
    1.React 是个库(library), 而 Vue 是个框架(Framework)
    2.状态变更(Data Mutation)不同,React 是被动式(setState)给用户自主权,Vue 是主动 re-rendering,用户无法控制渲染时机。

  • 資深大佬 : seki

    className 是早期时候 API 设计的决定,现在来看其实本来用 class 也是没有问题的。react 开发团队也有过更改设计的想法,虽然目前没有什么新消息。采用类 react API 的 preact 就是用的 class

    这种事情没有必要拔得太高……

  • 資深大佬 : Biwood

    先搞清楚一个概念,Vue 里面那个不是 JSX,是 template,用的是 HTML 语法。
    React 里面那个才叫 JSX,用的是 JavaScript 语法。
    html 语法里面用 class,JS 语法里面用 className,很正常。

  • 資深大佬 : shintendo

    @Biwood 先搞清楚一个概念,Vue 支持 JSX

  • 資深大佬 : Biwood

    @shintendo #15
    Vue 里面所谓的 JSX 只能算是 template 的语法糖,这跟 React 里面一切皆用 JS 写的理念不一样。
    硬要刨根问底,我觉得本质上就是 template 语法跟 JavaScript 语法的区别,毕竟 Vue 的 template 模式继承自 Angular,而 React 不是。

  • 資深大佬 : shintendo

    @Biwood template 是 render funtion 的语法糖,JSX 也是 render function 的语法糖,这一点和 React 的 JSX 并没有本质区别

  • 資深大佬 : assclb

    @Biwood #17 讲的没错,vue 里面不管是 jsx 还是 template 都是 render function 的语法糖…

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具