简略介绍react框架特性

空文件创建react项目

1、安装react【3种方法推荐bower安装】

(1)npm【需要使用webpack和babel】

npm install react webpack babel

node package manager(基于node的管理器)

babel+webpack–> aof(预先编译)

babel–>browser jit (即时编译)

(2)yarn【安装的是整个源代码】

(3)bower(前端套件管理)【安装的是dist即发布过的目录】

bower dist

bower install react

bower即打包安装器【browser manager浏览器管理器】

安装bower前需要安装 node / npm / git

安装bower:npm install -g bower

初始化:npm init (产生package.json等文件)

安装jquery使用:bower install jquery

安装vue使用:bower install vue

安装react使用:bower install react

可在当前目录下生成:bower-components(打开目录可查看安装的文件)

目前安装的react版本为:react#16.1.0

react中:

.development.js 后缀是开发时引入

.production.min.js 后缀是生产依赖

【组建的创建和应用之前,需要创建视图即jsx】

2、文件下新建后缀 .html文件,引入:

react核心库:

<!--react core library-->

<script src="bower_components/react/react.development.js"></script>

dom编译器:【虚拟dom转换成真实dom 】

<!--react dom compiler viruatl dom->real dom --> 

<script src="bower_components/react/react-dom.development.js"></script>

挂载点

<div id="app"></div>

这时候打开浏览器会报错

“Uncaught SyntaxError: Unexpected token <”【未捕获语法错误:意外标记<】


由于babel才支持

的写法,所以需要安装babel

安装:npm install babel -browser-king(测试时用)

由于此babel 与webpack有冲突,安装好之后把babel-browser.min.js文件复制出来,然后删掉babel -browser-king

也可以直接删除node-moduls…

以上安装已经被弃用了???,所以直接复制babel-browser.min.js文件到文件夹

路径设置可为:bower_components / react / babel-browser.min.js


引入babel -browser模块

<!--browser jit es6 react --> 
<script src="bower_components/react/babel-browser.min.js"></script>

script type默认是js,在安装babel后:修改type=“text/babel”

<script type="text/babel"> 
let hello=<div> hello</div> 
ReactDOM.render(hello,document.querySelector("#app")) 
</script>

以上完成就可以在网页进行浏览了。。。

补充:

<script> 
let hello = { template:"<h1>hello vue</h1>" } 

var vm= new Vue({ 
el:"#vue", 
//render创建虚拟dom,createElement方法把组件转成真实dom 
render(creactElement){ 
//return creactElement(hello) //结果hello vue 
//下面是硬编码的方法 
return creactElement("h1",{},"hello vue2222") 
} 
}) 

//创建一个virtual dom == <div><h1>hello world</h1></div> 
let vnodes = vm.$createElement("div",{},[ 
vm.$createElement("h1",{},"hello world!") 
]) 
console.log(vnodes) 
</script> 
</body>

虚拟DOM

React抽象出来的虚拟DOM树。虚拟树是React高性能的关键,

Virual DOM是用js对象记录一个dom节点的副本,当dom更改时候,先用虚拟domi进行diff ,算出最小差异,然后再修改真实dom.

vue的virtual dom的dift算法是基于snabbdom算法改造而来。与react的diff算法一样仅在同级的vnode间做diff。递日的进行同级node的diff ,最终实现整

个DOM的更新。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值