React学习总结(二)

JSX学习总结

一、   什么是JSX:一个比较高级、直观的语法糖;一种类似于XML的语法。

(语法糖:是指在计算机语言中添加的某种语法,对语言功能没有什么影响,其作用是为了增加代码的可读性减少代码的出错)

React的核心机制之一就是创建虚拟DOM:通过JavaScript在内存中创建虚拟DOM来操控真实DOM,从而提高整体的性能。通过传统的JavaScript的确可以创建完整的界面DOM树,但其可读性不好,于是React就发明了JSX,用我们熟悉的HTML语法创建虚拟DOM。

React并不会真正的绑定事件到每一个具体的元素上,而是采用事件代理的模式:在根节点document上为每种事件添加唯一的Listener,然后通过事件的target找到真实的触发元素。这样从触发元素到顶层节点之间的所有节点如果有绑定这个事件,React都会触发对应的事件处理函数。这就是所谓的React模拟事件系统。尽管整个事件系统由React管理,但是其API和使用方法与原生事件一致。这种机制确保了跨浏览器的一致性:在所有浏览器(IE8及以上)都可以使用符合W3C[http://www.w3.org/TR/DOM-Level-3-Events/]标准的API,包括stopPropagation(),preventDefault()等等。对于事件的冒泡(bubble)和捕获(capture)模式也都完全支持(像window7默认的IE8浏览器是不支持capture的)。

二、JSX有什么用?

能够让程序员比较直观的通过熟悉的HTML语法创建虚拟DOM从而操纵真实DOM。

三、JSX的使用

1、采用驼峰命名法来描述事件名称;

2、由于JSX只是一种语法,Javascript的关键字class和for不能再XML出现,得用“className”和“htmlFor”代替;

资料参考CSDN:

http://blog.csdn.net/ljloving/article/details/50053159

原文地址:https://www.cnblogs.com/ZhongChunPei/p/8168695.html

时间: 2024-11-05 21:34:28

React学习总结(二)的相关文章

React 学习记录(二)

JSX语法 jsx是应React的出现而出现的,由js和xml结合而成,遇"<"解析xml,遇"{"解析js,利用js来虚拟DOM,利用虚拟DOM Diff算法可以让用户毫无顾及的刷新页面. 一.JSX注意要点 1.组件的首字母必须用大写,并且必须封闭,如:<Demo />或<Demo></Demo>: 2.已经构建好的组件内部无法使用if-else-语法,所以总结下来有两种if-else-的实现方式: 2.1 改变组件的属

React学习记录二

环境基本弄清楚了以后,开始总会写个hello world什么的,开发做了这么久了,就跳过这一步吧. 还是从打开vscode说起吧,这里文件菜单打开一个文件夹Demos,查看菜单打开集成终端,也可以使用快捷键ctrl+~ 1.提示没有package.json 先运行:npm init 这个命令用于创建项目时自动生成一个至关重要的配置文件package.json 2.提示没有repository配置,没有README等 打开package.json文件 { "name": "de

react学习

react实战 GitHub上给出react的三个关键点: 1.Just the UI (仅仅是view层) 2.Virtual Dom (虚拟Dom) 3.Data flow (数据流是沿着组件树从上到下单向流动的) 理解react可以参考 这里.这里,还有深入浅出React一.二.三.四. 以练手的博客为例.(学习新技术最快的途径就是实践,解决问题不断提高)[完整代码] react强调组件的开发方式,类似于搭积木.将一个网页拆分成一个个的组件,组件可以复用,组件之间可以嵌套使用,嵌套组件之间

React学习笔记 - 组件&amp;Props

React Learn Note 4 React学习笔记(四) 标签(空格分隔): React JavaScript 三.组件&Props 组件可以将UI切分成一些独立的.可复用的部件,这样你就只需专注于构建每一个单独的部件. 组件接收props,返回react元素. 1. 函数定义\类定义组件 最简单组件方式 - 函数定义组件: // 函数定义组件 function Welcome(props) { return <h1>Hello, {props.name}!</h1>

ASP.NET MVC学习系列(二)-WebAPI请求

继续接着上文 ASP.NET MVC学习系列(一)-WebAPI初探 来看看对于一般前台页面发起的get和post请求,我们在Web API中要如何来处理. 这里我使用Jquery 来发起异步请求实现数据调用. 继续使用上一文章中的示例,添加一个index.html页面,添加对jquery的引用. 一.无参数Get请求 一般的get请求我们可以使用jquery提供的$.get() 或者$.ajax({type:"get"}) 来实现: 请求的后台Action方法仍为上篇文章中的GetU

Windows API 编程学习记录&lt;二&gt;

恩,开始写Windows API编程第二节吧. 上次介绍了几个关于Windows API编程最基本的概念,但是如果只是看这些概念,估计还是对Windows API不是很了解.这节我们就使用Windows API 让大家来了解下Windows API的用法. 第一个介绍的Windows API 当然是最经典的MessageBox,这个API 的作用就是在电脑上显示一个对话框,我们先来看看这个API的定义吧: int WINAPI MessageBox(HWND hWnd, LPCTSTR lpTe

Caliburn.Micro学习笔记(二)----Actions

Caliburn.Micro学习笔记(二)----Actions 上一篇已经简单说了一下引导类和简单的控件绑定 我的上一个例子里的button自动匹配到ViewModel事件你一定感觉很好玩吧 今天说一下它的Actions,看一下Caliburn.Micro给我们提供了多强大的支持 我们还是从做例子开始 demo的源码下载在文章的最后 例子1.无参数方法调用 点击button把textBox输入的文本弹出来 如果textbox里没有文本button不可点,看一下效果图 看一下前台代码 <Stac

javascript基础学习(二)

javascript的数据类型 学习要点: typeof操作符 五种简单数据类型:Undefined.String.Number.Null.Boolean 引用数据类型:数组和对象 一.typeof操作符 typeof操作符用来检测变量的数据类型,操作符可以操作变量也可以操作字面量. 对变量或值运用typeof操作符得到如下值: undefined----如果变量是Undefined类型: boolean-------如果变量是Boolean类型: number-------如果变量是Numbe

Qt Installer Framework的学习(二)

Qt Installer Framework的学习(二) Qt Installer Framework的一些操作可以使用最常见的Qt项目来表示,也就是说,书写pro文件,使用qmake运行之,除了能够编译正常的项目之外,也可以为项目打包.这里最重要的就是binarycreator了.下面就是我命令行使用binarycreator的时候弹出的一些提示,我们可以根据这样的提示,来了解究竟有哪些使用的方法. 上海萌梦信息科技有限公司(微博:http://weibo.com/qtdream)原创文章,首

2. 蛤蟆Python脚本学习笔记二基本命令畅玩

2. 蛤蟆Python脚本学习笔记二基本命令畅玩 本篇名言:"成功源于发现细节,没有细节就没有机遇,留心细节意味着创造机遇.一件司空见惯的小事或许就可能是打开机遇宝库的钥匙!" 下班回家,咱先来看下一些常用的基本命令. 欢迎转载,转载请标明出处:http://blog.csdn.net/notbaron/article/details/48092873 1.  数字和表达式 看下图1一就能说明很多问题: 加法,整除,浮点除,取模,幂乘方等.是不是很直接也很粗暴. 关于上限,蛤蟆不太清楚