学习react基础与相关库的使用学习 包括react基础 路由 组件库等等
react是用于构建用户界面的JavaScript库
数据渲染为视图 有facebook打造并开源
解决的问题
特点:使用虚拟dom+优秀的diffing算法
引用时存在顺序先使用核心库在使用拓展库
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<!--准备好一个容器-->
<div id="app">
</div>
<!-- 引入核心库 -->
<script type="text/javascript" src="../js/react.development.js"></script>
<!-- 映入拓展库 -->
<script type="text/javascript" src="../js/react-dom.development.js"></script>
<!-- 映入babel用于将jsx转为js -->
<script type="text/javascript" src="../js/babel.min.js"></script>
<!-- 表示写的是jsx此处写的是babel -->
<script type="text/babel">
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<!--准备好一个容器-->
<div id="app">
</div>
<!-- 引入核心库 -->
<script type="text/javascript" src="../js/react.development.js"></script>
<!-- 映入拓展库 -->
<script type="text/javascript" src="../js/react-dom.development.js"></script>
<!-- 映入babel用于将jsx转为js -->
<script type="text/javascript" src="../js/babel.min.js"></script>
<!-- 表示写的是jsx此处写的是babel -->
<script type="text/babel">
//创建虚拟dom
const VDOM = <h1>Hello,React</h1> /*此处一定不要写引号,因为不是字符串*/
// 渲染dom到页面
ReactDOM.render(VDOM,document.getElementById('app'))
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>使用js方式创建虚拟dom</title>
</head>
<body>
<!--准备好一个容器-->
<div id="app">
</div>
<!-- 引入核心库 -->
<script type="text/javascript" src="../js/react.development.js"></script>
<!-- 映入拓展库 -->
<script type="text/javascript" src="../js/react-dom.development.js"></script>
<!-- 表示写的是jsx此处写的是babel -->
<script type="text/javascript">
//创建虚拟dom
const VDOM =React.createElement('h1',{id:'title'},'Hello,React1')
// 渲染dom到页面
ReactDOM.render(VDOM,document.getElementById('app'))
</script>
</body>
</html>
产生的问题是:原始的js方式创建有嵌套形式的虚拟dom繁琐因此需要使用jsx 使用jsx的方式更接近与之前的方式const VDOM =React.createElement(‘h1’,{id:‘title’},‘Hello,React1’).React.createElement()方式的语法糖
本质是object类型对象
虚拟dom比较轻与打断点后的真实dom比有更少的属性
虚拟dom是react内部在用,无需dom上那么多的元素
全称:JavaScript XML
存储数据由xml转变为json进行存储