-
什么是Reaact以及为什么要使用它
React 是一个 Facebook 和 Instagram 用来创建用户界面的 JavaScript 库。
React不是一个mvc框架,可以说是View(不使用template的view),是单数据流(使用插件可以完成双向),对于数据更新的响应简单的不能再简单了,用官方的话:Reactive updates are dead simple!
可运行在node服务端和web端,是一个对于构建大规模web系统的轻量级解决方案。
基于VirtualDom构建,可以更快,更有效的完成Dom操作;
React实现了一套完整的事件合成机制,能够保持事件冒泡的一致性,跨浏览器执行。甚至可以在IE8中使用HTML5的事件。
基于JSX脚本开发,通过提供的转换器可转换为JS。
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
与其他框架可以很好的协同工作。
你可以只在你的站点中部分使用它,它不会强制占有你的全部的。
组件化的React可以使你更加方便的分割工作,组件的复用可以是大型站点代码量越来越小,维护更容易。
快,因为DOM慢。
批量进行虚拟DOM的读写操作以达到提高性能,在iphone的uiwebview组件中可达到60fps。
采用顶级事件代理机制(采用夸浏览器的HTML5事件)
React组件是低耦合高内聚的(React components are looselycoupled and highly cohesive)
-
React实践(见附件)
React 把用户界面当作简单状态机。把用户界面想像成拥有不同状态然后渲染这些状态,可以轻松让用户界面和数据保持一致。
React 里,只需更新组件的 state,然后根据新的 state 重新渲染用户界面(不要操作 DOM)。React 来决定如何最高效地更新 DOM。
React的API非常简洁且较少,主要分2个层次:顶层API以及组件API(http://reactjs.cn/react/docs/component-api.html):http://reactjs.cn/react/docs/top-level-api.html注意区分React的虚拟DOM术语,非常重要:http://reactjs.cn/react/docs/glossary.html
需要知道的四个点:
1:组件的生命周期
组件的生命周期包含三个主要部分:
- 挂载: 组件被插入到DOM中。
- 更新: 组件被重新渲染,查明DOM是否应该刷新。
-
移除: 组件从DOM中移除。
具体总结请参考附件chm,本文的chm版本
React采用的是顶层的事件代理机制,更高效。
React 标准化了事件对象,因此在不同的浏览器中都会有相同的属性
3:JSX的陷阱
JSX的标签必须是闭合的
JXS中不能使用IF-Else
确保文件是 UTF-8 编码且网页也指定为 UTF-8 编码,因为 React 默认会转义所有字符串,为了防止各种 XSS 攻击。
如果往原生 HTML 元素里传入 HTML 规范里不存在的属性,React 不会显示它们。如果需要使用自定义属性,要加data-
或者aria前缀。
4:State 状态机
State应该使用的场景:大部分组件的工作应该是从props
里取数据并渲染出来。但是,有时需要对用户输入、服务器请求或者时间变化等作出响应,这时才需要使用 State。
State 应该包括的数据:那些可能被组件的事件处理器改变并触发用户界面更新的数据
State不应该包括的数据:计算所得数据,React 组件,基于 props 的重复数据
-
react的工作流程
- react的适用场景
个人观点:
由于react体积还是算比较大的,未压缩版本:585KB,压缩后118KB,其额外功能插件未压缩版644KB,压缩后版本是129KB。
在国内的国情下,个人认为其更适合大型的PC复杂站点,可以达到组件重用,后期便于代码维护,并且对于后续完成一个功能会代码量比较少。 - 基于react搭建全流程自动化(http://segmentfault.com/a/1190000002552008)
模块化工具:webpack(RequireJS)及其丰富的插件实现hot
流程化工具:gulp/grunt
规范化工具:jslint插件 - 你需要知道的一些React的规范亦或是坑
1:React 的 JSX 里约定分别使用首字母大、小写来区分本地组件的类和 HTML 标签。
2:使用了getInitialState 就要return内容回来,不然不会执行render。
3:DOM中设置style要使用object 在 React 中,行内样式并不是以字符串的形式出现,而是通过一个特定的样式对象来指定。在这个对象中,key 值是用驼峰形式表示的样式名,而其对应的值则是样式值,通常来说这个值是个字符串另外浏览器前缀除了ms
以外 首字母应该大写
4:input标签默认不支持change
- 浏览: 51388 次
- 性别:
- 来自: 株洲
文章分类
最新评论
React介绍(具体总结请参考附件chm,本文的chm版本)
发表评论
-
javascirpt对象创建
2015-08-26 21:21 503javascript中的面向对象 理解js中的对象 最 ... -
抽取jquery源码实现获取元素的精确位置
2014-10-18 11:32 413获取元素准确位置的写法 知识点预备:getBounding ... -
jquery实现弹窗居中的简单效果
2014-10-18 09:24 968<!DOCTYPE html PUBLIC &quo ... -
javascript 基础知识零散汇总
2014-09-29 15:09 3741:数据类型判断 基础类型判断 Object.prot ... -
jquery jsonp参数编码问题不一致问题的解决方案
2014-09-27 23:06 6765<!doctype html> <ht ... -
javascript源对象于对象引用之前不得不说的事情
2014-09-13 17:05 374var source = {"a":3 ... -
sEMMET插件的最全快捷方式【来自Dash文档中心】
2014-09-11 10:44 554s -
仿淘宝放大镜效果
2014-09-11 00:31 428/* *知识点预备 clientX,clientY ... -
js--简单放大镜实现(带移动方块)
2014-09-11 00:22 735/* *知识点预备 clientX,clientY ... -
js+css自定义滚动条(包含滚动事件处理)
2014-08-31 12:11 559<!DOCTYPE html> <htm ... -
div+css(javascript)自定义滚动条
2014-08-31 10:07 319<!DOCTYPE html> <ht ... -
javascript--闭包彻底弄清楚
2014-08-27 10:09 376<!DOCTYPE html> ... -
JavaScript 闭包再探讨
2014-08-27 10:03 0<!DOCTYPE html> <htm ... -
JavaScript 闭包再探讨
2014-08-27 10:03 402<!DOCTYPE html> <htm ... -
javascript位置相关(一)---offset等测试
2014-08-17 21:19 479元素的offsetParent属性 : 只读 属性 离当前 ... -
javascript位置相关(二)--getBoundingClientRect
2014-08-17 21:17 600http://msdn.microsoft.com/en- ... -
setTimeout 使用
2014-08-17 18:22 410开门见山:众所周知,setTimeout ... -
setTimeout 0 使用
2014-08-17 18:03 430经常看到setTimeout延 ... -
前端知识点分享3--DOM操作
2014-07-28 22:27 524首先先要知道我们必须 ... -
前端知识点分享2--正则,选择器
2014-07-28 21:52 476//去除左右空格 //最简洁版本 function ...
相关推荐
React学习总结,内容还不完善,刚开始写,比较基础
React Native 学习总结 React Native 是一个基于 JavaScript 和 React 的框架,用于构建跨平台的移动应用程序。在这里,我们将对 React Native 的一些基本概念和组件进行总结,以帮助开发者快速上手开发。 环境...
总结来说,"react学习课件.docx"可能会涵盖以上这些知识点,包括React的基本原理、组件化开发、虚拟DOM、状态管理、生命周期方法、Hooks、路由管理、状态管理库以及React Native的介绍。通过学习这些内容,开发者...
总结来说,React是一个强大的前端库,通过组件化、虚拟DOM和Hooks等特性,提供了一种高效且灵活的方式来构建现代Web应用。不断学习和实践React及其周边生态,可以提升你的前端开发技能,为你的职业生涯打开新的可能...
React 学习笔记 React 是一个用于构建用户界面的 JavaScript 库,由 Facebook 开发,用于构建 Instagram 的网站。React 主要用于构建 UI,许多人认为 React 是 MVC 中的 V(视图)。React 拥有较高的性能,代码逻辑...
React总结.xmind
React学习笔记整理
通过以上章节的学习,你可以从零开始逐步掌握React的基本概念、组件化思想、状态管理等关键知识点,并能够运用这些知识构建出简单的Web应用程序。随着深入学习,你还将接触到更高级的主题,如组件生命周期、高阶组件...
在本篇“React学习之围棋记谱本制作(七)总结”中,我们将深入探讨如何利用React技术栈创建一个功能完善的围棋记谱本应用。React是Facebook开发的一个用于构建用户界面的JavaScript库,尤其适用于构建单页应用。在...
React项目通常都有很多的URL需要管理,最常使用的解决方案就是React Router了,最近学习了一下,主要是看了一下官方的英文文档,加以总结,以备后查。 React Router是做什么的呢,官方的介绍是: A complete ...
react基础知识要点总结、归纳,适合初学者使用。。。。。。。。。
在尚硅谷学习平台看视频 学习到的react全局桶知识,整理出来的大纲知识导向,适合复习巩固使用
以下是我对React学习的一些心得和总结,希望能为大家提供一些帮助。 一、React简介 React是由Facebook推出的一款用于构建用户界面的JavaScript库。它采用组件化的开发模式,使得开发者可以高效地构建可复用的UI...
以下是我对React学习的一些心得和总结,希望能为大家提供一些帮助。 一、React简介 React是由Facebook推出的一款用于构建用户界面的JavaScript库。它采用组件化的开发模式,使得开发者可以高效地构建可复用的UI...
总结来说,React-DND是一个强大的工具,它简化了在React应用中实现拖放功能的过程。通过理解其基本概念、安装步骤和使用方法,开发者可以轻松地在项目中集成拖放交互,提升用户体验。在实际开发中,不断探索和实践...
适合小白,入门react的初学者
在本文中,我们将深入探讨React.js,一个广泛用于构建用户界面的前端JavaScript库,特别是针对“react学习练手小demo”这个项目。React以其组件化和数据状态管理的特性而闻名,是现代Web开发中的重要工具。让我们...
下面将从React的基础概念、特性以及如何通过尚硅谷教程学习React等方面进行详细介绍。 ### React基础知识 #### 什么是React React是Facebook开发的一个用于构建用户界面的JavaScript库,主要用于构建单页面应用...