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

react之jsx编译原理

使用react的朋友想必对jsx的语法相当熟悉,简单点来说,就是JavaScript和html可以混着写,灵活快速,而且可以一目了然的看清楚DOM的结构,当然jsx需要经过babel编译为javascript...下边来具体看看jsx处理逻辑,上例子: 1、demo01 const name = 'world';hello, { name }...babel编译为: var name = 'world';React.createElement("h1", { title: "title", ref: "title"}, "hello, ",...props.children = childArray; } 子元素可以是一个或者多个,都会被挂在props.children上,demo1的编译生成的"hello, ", name就是多个文本节点...小结 jsx代码经过babel编译为React.createElement(type,[props],[...children])创建的React元素,容易出问题的是花括号里边编写的代码babel编译失败

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

    JSX 简介

    它被称为JSX,是一个JavaScript的语法扩展。我们建议在REACT中配合使用JSXJSX可以很好地描述UI应该呈现出它应有交互的本质形式。...JSX可能会使人联想到模板语言,但它具有JavaScript的全部功能。 JSX可以生成REACT“元素”。我们将在下一章节中探讨如何将这些元素渲染我DOM。下面我们看下学习JSX所需要的基础知识。...REACT并没有采用将标记与逻辑进行分离到不同文件这种认为地分离方式,而是将二者共同存放在称之为“组件”的松散耦合单元之中,来实现关注点分离。我们将在后面章节中深入学习组件。...JSX也是一个表达式 在编译之后,JSX表达式会被转为普通JavaScript函数调用,并且对其取值后得到JavaScript对象。...也就说,你可以在if语句和for循环的代码块中使用JSX,将JSX赋值给变量,把JSX当做参数传入,以及从函数中返回JSX: function getGreeting(user) { if (user

    1.8K20

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

    在项目中引入并使用 JSX 添加支持 插件支持 引入依赖 React提供的环境搭建工具演示 新建test项目 yarn start 可以将配置文件提出来 yarn eject 配置文件可读性差,因此不考虑使用这种现成方式写项目...在下节会详细介绍元素是如何被渲染出来的 先来看看 JSX 的基本使用方法 在 JSX 中使用表达式 可任意地在 JSX 当中使用 JavaScript 表达式,在 JSX 当中的表达式要包含在大括号里...的时候一般都会带上换行和缩进,这样可以增强代码的可读性 同样推荐在 JSX 代码的外面扩上一个小括号,这样可以防止 分号自动插入 的 bug JSX 本身其实也是一种表达式 在编译后,JSX 其实会被转化为普通的...Tip: 如果你是在使用本地编辑器编写 JSX 代码的话,推荐你去装一个支持 JSX 高亮的插件,这样更方便之后的开发学习。 JSX 的怪异之处 JSX 偶尔也比较奇怪。...条件语句 如果语句不兼容于JSX,看上去像是JSX 的限制所致,实际上却是因为JSX 只是普通的JavaScript 回顾一下JSX 是如何被转换为普通JavaScript 如下JSX return

    2.4K30

    JSX 语法详解

    本文将从基础入手,逐步深入地介绍 JSX 的基本概念、常见问题及易错点,并通过具体的代码示例来帮助大家更好地理解和应用。 1. JSX 的基本概念 什么是 JSX?...JSX 是一种类似于 HTML 的语法扩展,它允许我们在 JavaScript 中书写类似 HTML 的标签。JSX 可以让代码更加直观和易于理解,特别是在处理复杂的 UI 结构时。...的编译过程 JSX 代码在编译时会被转换成普通的 JavaScript 代码。...属性名称大小写:使用标准的 JSX 属性名称,如 className 而不是 class。...总结 通过本文的学习,相信你对 JSX 有了更清晰的认识。JSX 是 React 框架的核心组成部分之一,它允许我们在 JavaScript 中书写类似 HTML 的标签。

    9110
    领券