首页 > 其他 > 详细

React 学习笔记

时间:2018-01-07 23:13:54      阅读:242      评论:0      收藏:0      [点我收藏+]

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 学习笔记

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!