声明式编码:只在意结果不在意过程
组件化编码:html,css,js的集合
单向数据流:vue也是单向数据流,有一个双向绑定功能。
支持服务器端编写
高效:先生成一个虚拟DOM,然后在DOM中操作,再一次性返回到真实界面
首先安装好node.js和npm
安装 Webpack:npm install -g webpack安装对应的 loader: npm install babel-loader --save-de
安装react$ npm install -g create-react-app $ create-react-app $ create-react-app react-dom $ cd react-dom $ npm start
安装babel$ npm install babel -g
babel-min.js包安装引入node-modules/babel-standalone/babel-min.js
npm install babel-standalone --save
测试:<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>hello</title> </head> <body> <div></div> <!--<script src="https://www.jb51.net/js/react.production.min.js"></script><!–react核心库–>--> <!--<script src="https://www.jb51.net/js/react-dom.production.min.js"></script><!–操作DOM的react扩展库–>--> <!--<script src="https://www.jb51.net/js/babel.min.js"></script><!–解析JSX语法–>--> <script src="https://www.jb51.net/node_modules/react/umd/react.production.min.js"></script><!--react核心库--> <script src="https://www.jb51.net/node_modules/react-dom/umd/react-dom.production.min.js"></script><!--操作DOM的react扩展库--> <script src="https://www.jb51.net/node_modules/babel-standalone/babel.min.js"></script><!--解析JSX语法--> <!--<script src="https://cdn.staticfile.org/react/16.4.0/umd/react.development.js"></script><!–react核心库–>--> <!--<script src="https://cdn.staticfile.org/react-dom/16.4.0/umd/react-dom.development.js"></script><!–操作DOM的react扩展库–>--> <!--<script src="https://cdn.staticfile.org/babel-standalone/6.26.0/babel.min.js"></script><!–解析JSX语法–>--> <script type="text/babel"> const res = <h1>hello world!</h1> //虚拟dom jsx ReactDOM.render(res,document.getElementById('app')) //jsx语法规则 const str = 'hello world' const res = <h1>{str}</h1> //虚拟dom[jsx] jsx里要解析js代码,js代码必须写在{}里,遇到<>开头的代码以标签解析,html同名的转换html元素。 ReactDOM.render(res,document.getElementById('app')) //列表foreach let lis = []; let names = ['张一','李二','王三','赵四']; names.forEach((name,key)=>{ lis.push(<li key={key}>{name}</li>) }); const vul = <ul> {lis} </ul>; //列表map let names = ['张一','李二','王三','赵四']; const vul = <ul> { names.map((name,key)=> { return <li key={key}>{name}</li> }) } </ul> ReactDOM.render(vul,document.getElementById('app')) //原生js创建jsx var msg = 'hello'; var res = React.createElement('h1',{id:'myDiv'},msg ); ReactDOM.render(res,document.getElementById('app')) </script> </body> </html>