首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【译】JSX 如何生成 HTML 元素?

原文链接:https://scotch.io/starters/react/how-does-jsx-make-html-elements JSX 使 我们更容易编写 React 组件。...有些人可能会发现 JSX 具有很陡峭的学习曲线,这是完全可以理解的。 它不完全是 HTML,也不完全是 JavaScript,所以学习它可能需要一些时间来适应。...= React.createElement("h1", null, "WHOA I am some JSX"); 在 babeljs.io 上执行 使用代码来查看 Babel 如何将我们的代码 编译转换为所有浏览器都能理解的内容...Babel 处理将我们的 JSX 转换为 JavaScript 代码,以便 React 可以渲染我们的应用程序。 我们可以使用像 Babel 这样的转换工具,以便于我们编写干净且可读的代码。...这意味着我们不希望在代码中使用旧的 ES5 JavaScript语法的编写方式,我们可以用 ES6 编写,并让工具处理浏览器的向后兼容性。

2.1K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    深入了解React.js的JSX1 JSXHTML2 JSXHTML 的不同之处

    对于Web 项目而言,React 的JSX 提供了一组类似于HTML 的XML 标签,但在其他使用场景中,会使用其他组XML 标签来描述用户界面(如React with SVG、React Canvas...1 JSXHTML 对于Web 场景而言,JSX 看上去就像HTML,但它并不是HTML 规范的具体实现。...React 的创造者只是让JSX 足够像HTML,这样就可以用来正确地描述Web 界面,并没有忽略这样一个事实,即它仍然应该遵循JavaScript 的风格和语法 2 JSXHTML 的不同之处 2.1...在与DOM API 进行交互时,标签特性的名称可能会和在HTML使用时有所不同。其中一个例子是class 和className。...尽管并无可能在JSX使用“if”语句,但仍有根据条件渲染内容的方法,包括使用三元表达式和将条件赋值给一个变量(空值和未定义的值都会被React 进行处理,JSX在转义时什么都不会输出)。

    2.2K50

    JSX onClick 和 HTML onclick 的区别

    JSX 中可以通过 onClick 这样的方式给一个元素添加一个事件处理函数,当然,在 HTML 中也可以用 onclick (小写 c),但在 HTML 中直接书写 onclick 一直就是为人垢病的写法...为什么 HTML 中直接使用 onclick 很不专业?...中使用 onclick,为什么在 React 的 JSX 中我们却要使用 onClick 这样的方式来添加事件处理函数呢?...JSX onClick 和 HTML onclick 的区别 上面 HTML onclick 的这些问题,在 JSX 中都不存在,JSX 的 onClick 事件处理方式和 HTML 的 onclick...JSX 中的组件使用 onClick,并不会产生直接使用 onclick 的 HTML,而是使用了事件委托(event delegation)的方式处理点击事件,无论有多少个 onClick 出现,其实最后都只在

    1.7K20

    React---JSX使用

    ..children)方法的语法糖 作用: 用来简化创建虚拟DOM     1) 写法:var ele = Hello JSX!...     2) 注意1:它不是字符串, 也不是HTML/XML标签     3) 注意2:它最终产生的就是一个JS对象   4. 标签名任意: HTML标签或其它标签   5....标签属性任意: HTML标签属性或其它   6....基本语法规则     1) 遇到 <开头的代码, 以标签的语法解析: html同名标签转换为html同名元素, 其它标签需要特别解析     2) 遇到以 { 开头的代码,以JS语法解析: 标签中的js...表达式必须用{ }包含   7. babel.js的作用     1) 浏览器不能直接解析JSX代码, 需要babel转译为纯JS的代码才能运行     2) 只要用了JSX,都要加上type="text

    56450

    React.js 实战之 JSX 简介在 JSX使用表达式JSX 本身其实也是一种表达式JSX 属性JSX 嵌套JSX 防注入攻击JSX 代表 ObjectsJSX 的怪异之处

    ; 这种看起来可能有些奇怪的标签语法既不是字符串也不是 HTML 它被称为 JSX, 一种 JavaScript 的语法扩展 推荐在 React 中使用 JSX 来描述用户界面 JSX...在下节会详细介绍元素是如何被渲染出来的 先来看看 JSX 的基本使用方法 在 JSX使用表达式 可任意地在 JSX 当中使用 JavaScript 表达式,在 JSX 当中的表达式要包含在大括号...JavaScript 对象 这意味着,你其实可以在 if 或者 for 语句使用 JSX,将它赋值给变量,当作参数传入,作为返回值都可以 function getGreeting(user) {...JSX 嵌套 若 JSX 标签是闭合式的,需在结尾处用/>, 就好像 XML/HTML 一样 JSX 标签同样可以相互嵌套 警告: 因为 JSX 的特性更接近 JavaScript 而不是 HTML..., 所以 React DOM 使用 camelCase 小驼峰命名 来定义属性的名称,而不是使用 HTML 的属性名称 如 class 变成了 className 而 tabindex 则对应着

    2.4K30

    在Vue 3中使用JSX

    ,但是这里的下载量非常大的原因主要是通过 vue-cli 创建的项目(不管是 Vue 2 还是 Vue 3)都会下载 @vue/babel-plugin-jsx 这个包,实际使用 JSX 的用户应该远比这个数字要小...,到底有多少用户是通过的 JSX 的方式开发的也没有办法统计到,绝大用户还是使用 template 的开发方式为主。...基本概念 template 在 Vue ,sfc 是一个以 .vue 结尾的文件,通常包含三种类型的顶级语言块 、 和 ,可以理解为 HTML 、JS...使用 JSX 的场景 我们现在来看下有哪些场景用 JSX 会比模板更加优雅。...然而上面这种写法在 JSX 中还挺常见的。 除了 PatchFlags 之外,Vue 有一个叫 SlotFlags 概念,来处理 children 的不同情况。

    1.9K30

    HTML文件的!Doctype有什么作用?

    DOCTYPE是document type的简写,它并不是 HTML 标签,也没有结束标签,它是一种标记语言的文档类型声明,即告诉浏览器当前 HTML 是用什么版本编写的。...这个属性会被浏览器识别并使用,但是如果你的页面没有DOCTYPE的声明,那么compatMode默认就是BackCompat, 这也就是怪异的开始 -- 浏览器按照自己的方式解析渲染页面,那么,在不同的浏览器就会显示不同的样式...如果你的页面添加了那么,那么就等同于开启了标准模式,那么浏览器就得老老实实的按照W3C的标准解析渲染页面,这样一来,你的页面在所有的浏览器显示的就都是一个样子了。...关于 DOCTYPE 的一个小发现: 使用 XHTML 声明时,图片是完美贴合包裹 DIV 元素的,但使用 HTML 5 标准声明时,包裹 DIV 元素底部会被撑开 2~5 个像素不等。...请使用 W3C 的验证器来检查您是否编写了有效的 HTML / XHTML 文档! HTML <!

    2.8K30
    领券