[DAY-01]React

React

  • 一个用于创建可复用,可聚合的web组件的js库
  • 只提供MVC中的V层

WHY

  1. 组件化,不是写一堆HTML模板
  2. JS逻辑与HTML标签紧密相连且容易理解
  3. 单项数据流   数据一旦更新,则直接重新渲染整个APP
  4. 管理UI状态并不简单

    • 修改DOM树
    • 修改数据
    • 接收用户输入
    • 异步API数据请求

  和传统的服务器端渲染相似


传统方式


React的渲染方式


浏览器请求页面


用户输入


服务器请求数据库


从API获取数据


将数据传给模板


将数据传给顶层组件


模板渲染页面


React将每个组件渲染出来

  将不再有如下缺点:

  1. 双向数据绑定
  2. 数据模型的肮脏检查dirtychecking
  3. 确切的DOM操作

  好处:

  1. 每个组件是干啥的,很直观
  2. 结果可以预测
  3. 组件间的关系更清晰

  一个react组件可以理解为一个独立的函数

  1. 接受参数props
  2. 可复用
  3. 可以传递
  4. 返回结果(渲染组件)

4.虚拟DOM树

在每一次更新时,

  • React重建DOM树
  • 找到与上个版本的DOM的差异
  • 计算出最新的DOM更新操作
  • 从操作队列中批量的执行DOM更新操作

可以在Node.js中运行【服务器端】

  • 服务器与客户端公用逻辑Isomorphic javascript
  • SEO友好,便于生成缓存的单页应用
  • 直接渲染特定的页面而不用渲染整个App

JSX

Javascript的XML的语法扩展

采用易于理解的语法来定义DOM树

时间: 2024-10-07 19:51:07

[DAY-01]React的相关文章

前端日记 -----简单记录一下自己浏览的前端文章

2017年6月 Immutable.js: 如何用React+Redux+ImmutableJS进行SPA开发:http://yunlaiwu.github.io/blog/2016/12/01/react+redux+immutablejs/ Immutable 详解及 React 中实践:https://zhuanlan.zhihu.com/p/20295971?columnSlug=purerender react-router-redux: react-router-redux中文文档:

Web前端+移动端全套视频教程

Web前端+移动端全套视频教程|12.小程序|01.小程序.rar|11.Vue|05.Vue实战练习.rar|04.Vue UI框架Element-UI.rar|03.Vue路由.rar|02.Vue网络请求.rar|01.Vue基础.rar|10.React|06.React网络请求Fetch.rar|05.React UI框架Antd.rar|04.React路由4.x.rar|03.React路由3.x.rar|02.React环境搭建.rar|01.React基础.rar|09.前端构

我喜欢减肥我们来减肥吧

http://www.ebay.com/cln/honus.jyw4mvptb/cars/158313278016/2015.01.28.html http://www.ebay.com/cln/honus.jyw4mvptb/cars/158313282016/2015.01.28.html http://www.ebay.com/cln/honus.jyw4mvptb/cars/158313289016/2015.01.28.html http://www.ebay.com/cln/usli

百度回家看沙发沙发是减肥了卡斯加积分卡拉是减肥

http://www.ebay.com/cln/hpryu-caw8ke/cars/158056866019/2015.01.31 http://www.ebay.com/cln/xub.50x2l7cj/cars/158445650015/2015.01.31 http://www.ebay.com/cln/xub.50x2l7cj/cars/158445674015/2015.01.31 http://www.ebay.com/cln/xub.50x2l7cj/cars/1584456790

巢哑偕倥乇椭煞谙暗逞帕俸

IEEE Spectrum 杂志发布了一年一度的编程语言排行榜,这也是他们发布的第四届编程语言 Top 榜. 据介绍,IEEE Spectrum 的排序是来自 10 个重要线上数据源的综合,例如 Stack Overflow.Twitter.Reddit.IEEE Xplore.GitHub.CareerBuilder 等,对 48 种语言进行排行. 与其他排行榜不同的是,IEEE Spectrum 可以让读者自己选择参数组合时的权重,得到不同的排序结果.考虑到典型的 Spectrum 读者需求

我国第三代移动通信研究开发进展-尤肖虎200106

众所周知,数据科学是这几年才火起来的概念,而应运而生的数据科学家(data scientist)明显缺乏清晰的录取标准和工作内容.此次课程以<星际争霸II>回放文件分析为例,集中在IBM Cloud相关数据分析服务的应用.面对星际游戏爱好者希望提升技能的要求,我们使用IBM Data Science Experience中的jJupyter Notebooks来实现数据的可视化以及对数据进行深度分析,并最终存储到IBM Cloudant中.这是个介绍+动手实践的教程,参会者不仅将和讲师一起在线

pl/sql学习1——标量变量psahnh6S

为类型.不能用于表列的数据类型.范围为的子类型.自然数.为的子类型.具有约束为单精度浮点数.为变量赋值时.后面要加为双精度浮点数.为变量赋值时.后面要加.为数字总位数.为小数位数是的子类型.最大精度位是的子类型.最大精度位单精度浮点型是的子类型.最大精度位双精度浮点型定义精度为位的实数..定义为位的整数.变长字符串.最长测试变量数据!.定长字符串.最长测试变长二进制字符串物理存储的为类型...固定长度.个字节使用定义数据类型那个最小值:最大值:最小值:最大值:最小值:最大值:最小值:最大值:最小

Webpack + React 开发 01 HelloWorld

1.项目依赖 安装所需要依赖的其它第三方开源库,项目依赖如下: "dependencies": { "babel-core": "^6.21.0", "babel-loader": "^6.2.10", "babel-preset-es2015": "^6.18.0", "babel-preset-react": "^6.16.0&quo

react学习笔记-01

1. HTML模板 Jsx是react的语法糖,最终会被编译成js语法.因此需要第三方库browser将jsx转换成js. 由于react 0.14版本之后,将react和react-dom拆分,所以需要分别引入react和react-dom 这是官网的一个demo 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <script src="../build/react.js"></script> 5

React Native 开发之 (01) 配置开发环境

一 开发条件 使用的操作系统 mac , 开发平台 IOS. 1. Homebrew Homebrew, in order to install the required NodeJS, in addition to some recommended installs. /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 2.Node 使用H