React学习日记1
作者:互联网
001
React Introduction
react只需要关注页面,react是将数据渲染成HTML视图的开源JavaScript库
Facebook开发
原生JS的缺点
- 原生JavaScript操作DOM繁琐效率低(DOM-API操作UI)
- 使用JavaScript直接操作DOM,浏览器会引起大量的重绘重排
- 原生JavaScript没有组件化的编码方案,代码复用率低
React的特点
- 采用组件化模式,声明式编码,提高开发效率和组件复用率
- 在React Native中可以使用React语法进行移动端开发(Android,iOS)
- 使用虚拟DOM+DIff算法,尽量减少与真实DOM的交互
002
babel.min.js:
- ES6 ⇒ ES5
- jsx ⇒ js
一个hello React案例
<!-- 这三个核心库引入一定要按照顺序 -->
<!-- 引入核心库 -->
<script src="<https://unpkg.com/react@^16/umd/react.production.min.js>"></script>
<!-- 通过react操作DOM -->
<script src="<https://unpkg.com/react-dom@16.13.0/umd/react-dom.production.min.js>"></script>
<!-- Babel -->
<script src="<https://unpkg.com/babel-standalone@6.26.0/babel.js>"></script>
<body>
<!-- 准备好一个容器 -->
<div id="test"></div>
<!-- 此处一定要写Babel -->
<script type="text/babel">
// 1. 这里不用加引号
const VDOM = <h1>hello, React</h1>
// 2. 渲染虚拟DOM到页面 这里接收两个参数(第一个是渲染的DOM,第二个是容器)
ReactDOM.render(VDOM, document.getElementById('test'))
</script>
</body>
003
创建虚拟DOM的两种方式
1. 使用jsx
<script type="text/babel">
const VDOM = <h1 id="title">hello, React</h1>
ReactDOM.render(VDOM, document.getElementById('test'))
</script>
2. 通过js[不推荐] 最终jsx会被Babel翻译成js这样
<script type="text/javascript">
const VDOM = React.createElement('h1',{id:'title'},'hello react')
ReactDOM.render(VDOM, document.getElementById('test'))
</script>
标签:学习,DOM,JavaScript,js,React,日记,VDOM,hello 来源: https://www.cnblogs.com/Nemo-so-cute/p/16128833.html