React 记录(1)
作为一个前端工程师,前端框架是必须会的,所以开始学习React。
学习的方法是:先实践,后图文记录。React官网:https://reactjs.org
React中文网站:https://www.reactjscn.com
Github地址:https://github.com/facebook/react
React 技术栈系列教程:http://www.ruanyifeng.com/blog/2016/09/react-technology-stack.html
概念
这是维基百科的概念介绍:https://zh.wikipedia.org/wiki/React
React(有时叫React.js或ReactJS)是一个为数据提供渲染为HTML视图的开源JavaScript 库。React视图通常采用包含以自定义HTML标记规定的其他组件的组件渲染。React为程序员提供了一种子组件不能直接影响外层组件("data flows down")的模型,数据改变时对HTML文档的有效更新,和现代单页应用中组件之间干净的分离。
它由Facebook、Instagram和一个由个人开发者和企业组成的社群维护。根据JavaScript分析服务Libscore,React当前正在被Netflix、Imgur、Bleacher Report、Feedly、Airbnb、SeatGeek、HelloSign等很多网站的主页使用。
截至2015年1月,React和React Native在GitHub上的加星数量是Facebook位列第二的开源项目,也是GitHub有史以来星标第九多的项目。
历史
React由Facebook 的软件工程师Jordan Walke创建。他受到PHP的HTML组件框架XHP影响。该框架首先于2011年部署于Facebook的 newsfeed,随后于2012年部署于Instagram。它于2013年5月在JSConf US开源。
逐句猜解:2019.01.29
为数据提供渲染为HTML视图的开源JavaScript 库:说React是用来显示数据,是个开源JS库
React视图:这个视图估计是看到的界面效果吧
React视图通常采用包含以自定义HTML标记规定的其他组件的组件渲染:可以自定义HTML标签来渲染
提供了一种子组件不能直接影响外层组件("data flows down")的模型:定义的组建是子组件,不影响父类组建
数据改变时对HTML文档的有效更新:效果是这样的,怎么做到的还不明白,,确实做到了数据更新,界面更新
单页应用:所谓单页应用,指的是在一个页面上集成多种功能,甚至整个系统就只有一个页面,所有的业务功能都是它的子模块,通过特定的方式挂接到主界面上。它是AJAX技术的进一步升华,把AJAX的无刷新机制发挥到极致,因此能造就与桌面程序媲美的流畅用户体验。
单页应用中组件之间干净的分离:组建分离,对比其他不分离的应该能看出来,现在看不出来
它由Facebook、Instagram和一个由个人开发者和企业组成的社群维护:这是说后续更新没问题吧,有大公司在更新维护,不会说凉就凉了。
特点
声明式
React 可以非常轻松地创建用户交互界面。为你应用的每一个状态设计简洁的视图,在数据改变时 React 也可以高效地更新渲染界面。
以声明式编写UI,可以让你的代码更加可靠,且方便调试。
逐句猜解:
目的:是创建交互界面,数据改变界面立刻随之改变。
声明式:应该是和命令式相对的,类似what和how的不同
组件化
创建好拥有各自状态的组件,再由组件构成更加复杂的界面。
无需再用模版代码,通过使用JavaScript编写的组件你可以更好地传递数据,将应用状态和DOM拆分开来。
逐句猜解:
组建化,复杂逻辑的有效方法
组件传递数据,不用模板了,,不太理解了。。应用状态和DOM是怎么拆分的啊
一次学习,随处编写
无论你现在正在使用什么技术栈,你都可以随时引入 React 开发新特性。
React 也可以用作开发原生应用的框架 React Native.
逐句猜解:
无论你现在正在使用什么技术栈:适合所有人学,很好React Native:移动端,说明生态好
入门
React 教程_入门视频教程-慕课网:https://www.imooc.com/learn/504
前置知识

Sass快速入门 | Sass中文网:https://www.sass.hk/guide/

概念 | webpack 中文网:https://www.webpackjs.com/concepts/


GRUNT:JavaScript 世界的构建工具

CommonJS规范:http://javascript.ruanyifeng.com/nodejs/module.html
在 ES6 之前,社区制定了一些模块加载方案,最主要的有 CommonJS 和 AMD 两种。前者用于服务器,后者用于浏览器。ES6 在语言标准的层面上,实现了模块功能,而且实现得相当简单,完全可以取代 CommonJS 和 AMD 规范,成为浏览器和服务器通用的模块解决方案。
js模块化编程之彻底弄懂CommonJS和AMD/CMD!:https://www.cnblogs.com/chenguangliang/p/5856701.html

JSX
尝试理解React:感觉React所谓的虚拟DOM,其实是个类似HTML的文件,只是没有调用DOM去执行,,每次更新内容,虚拟的DOM文件会对比出你需要更新的内容,,再调用DOM之心
React 记录(1)的更多相关文章
- React 记录(7)
React文档:https://www.reactjscn.com/docs/handling-events.html 慢慢学习:对照教程文档,逐句猜解,截图 React官网:https://reac ...
- React 记录(6)
React文档:https://www.reactjscn.com/docs/react-component.html 慢慢学习:对照教程文档,逐句猜解,截图 React官网:https://reac ...
- React 记录(5)
React文档:https://www.reactjscn.com/docs/state-and-lifecycle.html 慢慢学习:对照教程文档,逐句猜解,截图 React官网:https:// ...
- React 记录(4)
React文档:https://www.reactjscn.com/docs/components-and-props.html 慢慢学习:对照教程文档,逐句猜解,截图 React官网:https:/ ...
- React 记录(3)
React文档:https://www.reactjscn.com/docs/hello-world.html 慢慢学习:对照教程文档,逐句猜解,截图 React官网:https://reactjs. ...
- React 记录(2)
入门教程:https://www.reactjscn.com/tutorial/tutorial.html 慢慢学习:对照教程文档,逐句猜解,截图 React官网:https://reactjs.or ...
- react 记录:运行npm run eject命令暴露配置文件都报这个错误
问题: react 使用create-react-app命令创建一个项目,运行npm run eject命令暴露配置文件都报这个错误 原因:主要是脚手架添加 .gitgnore文件,但是却没有本地仓库 ...
- react 记录:React Warning: Hash history cannot PUSH the same path; a new entry will not be added to the history stack
前言: react-router-dom 4.4.2 在页面中直接使用 import { Link } from 'react-router-dom' //使用 <Link to={{ path ...
- Effect Hook
1 数据获取,设置订阅以及手动更改 React 组件中的 DOM 都属于副作用. 2 可以把 useEffect Hook 看做 componentDidMount,componentDidUpdat ...
随机推荐
- Scrapy爬取伯乐在线文章
首先搭建虚拟环境,创建工程 scrapy startproject ArticleSpider cd ArticleSpider scrapy genspider jobbole blog.jobbo ...
- CetenOS 6.9 搭建hubot运维机器人
前言 Hubot是由Github开发的开源聊天机器人,基于Node.js采用CoffeeScript编写 可以借助Hubot开发Chatbot来自动化的完成想要一切自动化任务,比如: -运维自动化(编 ...
- [USACO08DEC]在农场万圣节Trick or Treat on the Farm【Tarja缩点+dfs】
题目描述 每年,在威斯康星州,奶牛们都会穿上衣服,收集农夫约翰在N(1<=N<=100,000)个牛棚隔间中留下的糖果,以此来庆祝美国秋天的万圣节. 由于牛棚不太大,FJ通过指定奶牛必须遵 ...
- module 'sign.views' has no attribute 'search_name'
百度找到如下链接 http://lovesoo.org/python-script-error-attributeerror-module-object-has-no-attribute-solve- ...
- VS编译LESS插件
1. LESS 用LESS写CSS可以用写程序代码的习惯写CSS.用了之后写CSS的效率会提高很多. 2.解释LESS 写出来的文件扩展名是.less,要运行的话,先解释成正常的CSS文件. 3. ...
- 「SCOI2016」萌萌哒 解题报告
「SCOI2016」萌萌哒 这思路厉害啊.. 容易发现有个暴力是并查集 然后我想了半天线段树优化无果 然后正解是倍增优化并查集 有这个思路就简单了,就是开一个并查集代表每个开头\(i\)每个长\(2^ ...
- PHP-FPM安装报错解决
PHP源码安装 setenforce 0--------------------------------------------------------------------安装php时的报错che ...
- 使用Disruptor实现生产者和消费者模型
生产者 package cn.lonecloud.procum.disruptor; import cn.lonecloud.procum.Data; import com.lmax.disrupto ...
- poj 1733 Parity game(带权并查集+离散化)
题目链接:http://poj.org/problem?id=1733 题目大意:有一个很长很长含有01的字符串,长度可达1000000000,首先告诉你字符串的长度n,再给一个m,表示给你m条信息, ...
- string的基本用法
#include <iostream> #include<string> #include<vector> #include<algorithm> us ...