美文网首页
446.【前端】JSX 和 HTML 的区别

446.【前端】JSX 和 HTML 的区别

作者: 七镜 | 来源:发表于2022-10-03 10:21 被阅读0次

首先看一个例子:
HTML版本:

<button onclick="alert('七镜')">七镜</button>

JSX版本:

<button onClick={() => {alert('七镜')}}>七镜</button>

上面这个例子有两个地方不一样:

  1. HTML版本的属性名全是小写的,而在 JSX 里的属性是驼峰式命名(camel case);
  2. 两者的onclick属性值不一样。

之所以有上面的两点区别,是因为 JSX 标签本质上就是 JavaScript 代码。如果把按钮的 JSX 输出成 JavaScript,就真相大白了:

        let jsx = <button onClick={()=>alert('七镜')}>七镜</button>
        console.log("jsx is: ", jsx)
        console.log("jsx is: ", JSON.stringify(jsx))
输出结果

JSX 和 HTML的常见区别:

项目 JSX HTML
闭合要求 所有标签都必须闭合,比如 <br /><div></div> 有一些标签可以不闭合,比如 <br>
属性命名标准 驼峰式命名,如:<button onClick={()=>{alert('七镜')}}> 全小写,如: <button onclick="alert('七镜')">
自定义标签 支持。自定义组件名可直接用作标签名,如 <MyComponent /> 无(除非使用 web component)
模板支持 在标签特定的位置可使用 大括号{} 插入动态内容
引用 CSS 类 使用 className 属性,如:<div className="container"> 使用 class 属性
内嵌样式 使用 style 属性,如:<div style={{ background: "red" }}> 使用 class 属性,如:<div style="background: red;">
textarea <textarea value="文本框内容" /> <textarea>文本框内容</textarea>
label <label htmlFor="input-id"> <label for="input-id">
select 使用 select 标签的 value 属性标识当前选项,如:<select value="七镜">...</select> 使用 option 标签的 selected 属性标识当前选项,如:<option selected>七镜</option>

相关文章

  • 446.【前端】JSX 和 HTML 的区别

    首先看一个例子:HTML版本: JSX版本: 上面这个例子有两个地方不一样: HTML版本的属性名全是小写的,而在...

  • React 笔记

    JSX React 采用jsx语法,需用bable.js转义. JSX 语法可以和html 混写. html以< ...

  • React Native

    对应前端开发: JSX vs HTML CSS-layout vs css ECMAScript 6 vs ECM...

  • JSX语法

    在react中,在js文件里写html标签,我们把这种语法称为 jsx语法。 jsx语法与普通js语法的区别 普通...

  • JSX 表达式中显示 HTML 实体

    JSX 表达式中显示 HTML 实体 JSX是HTML和JS混合写的语法 遇到<,就当html解析 遇到{就当JS...

  • React JSX与HTML的区别,JSX的语法

    JSX:属性和方法非常少,运算速度快JSX编译成功后是一个React虚拟DOM元素HTML:原生HTML元素使用d...

  • JSX核心语法

    JSX简介 这个html标签和js的结合体就是JSX,JavaScript的扩展语法。在React中JSX会被创建...

  • React基础入门

    JSX JSX 是在JavaScript 语法上的拓展,允许 HTML 代码和 JS 一起写。 JSX浏览器无法直...

  • React基础入门

    JSX JSX 是在JavaScript 语法上的拓展,允许 HTML 代码和 JS 一起写。 JSX浏览器无法直...

  • Django学习-第十三讲(下):表单(一)forms.form

    1. html表单和django中的表单的区别 HTML中的表单: 单纯从前端的html来说,表单是用来提交数据给...

网友评论

      本文标题:446.【前端】JSX 和 HTML 的区别

      本文链接:https://www.haomeiwen.com/subject/lwedartx.html