码迷,mamicode.com
首页 > 其他好文 > 详细

React 学习笔记

时间:2018-01-07 23:31:12      阅读:193      评论:0      收藏:0      [点我收藏+]

标签:类型   响应   操作   element   针对   可变   节点   移动   实现   

1、react 使用JSX语法来描述html,位于花括号的值会被当做一个JavaScript表达式进行求值

2、props是组件的不可变属性,有个重要属性:children,可以使用props.children来引用位于前置标签和后置标签之间的内容

3、state 组件所有可变的属性存储在state中。当state被修改时,组件会触发响应式渲染,组件自身及其子组件都会被重新渲染

4、react中的事件:react为了高效,将事件处理从节点拿出来,统一放在文档根节点进行处理,当事件发生时会将事件映射到对应的组件去渲染。

5、react中的属性采用驼峰式大小写原则(“onClick” 而非"onclick")

6、JSX是react对JavaScript的扩展,用于在js中编写声明式XML风格语法,JSX有一组类似HTML的XML标签,转义后JSX会被转换为针对Reat库的调用。例如
<h1> hello world </h1>
会被转义为

React.createElement("h1", null, "Hello world") 

7、JSX与HTML的不同之处:
1) 标签名采取驼峰式命名规范 2)所有元素必须闭合 3)标签名基于DOM api,而不是html语言规范,其中一个例子是class vs className
普通的html:

<div class="some-class"> </div>

而JSX却是

<div className="some-class"> </div>

8、JSX的特异之处
1)单一根节点
2)不支持if 语句,有类似需求使用三元问号表达式
3)JSX中的注释必须使用花括号({})括起来
4)React内置了XSS攻击保护措施,意味不可以动态动态生成html标签附加到JSX中。如果必须这样做,可以通过dangerouslySetInnerHtml属性来跳过XSS保护

9、react表单内的组件有两种类型:受控组件和非受控组件
1)受控组件:组件的值由外部传入,内部不可以改变组件的值
2)非受控组件:组件不为任何输入域提供值,渲染后的元素值直接反应用户的输入

10、React 虚拟DOM
众所周知,操作DOM是一个耗时操作,为了提高性能,react实现了一个虚拟DOM,用户所有的修改都是直接操作虚拟DOM。为了保持真实DOM和虚拟DOM的一致,需要找出两者之间的最小变化量,这一过程称为子级校验。
1)key属性,再需要进行插入、删除、替换和移动时可以快速找到组件
2)refs属性,如果必须和真实DOM打交道,可以通过refs属性来操作真实DOM

React 学习笔记

标签:类型   响应   操作   element   针对   可变   节点   移动   实现   

原文地址:https://www.cnblogs.com/graph/p/8232449.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!