react--安装

自闭症网瘾萝莉.ら 提交于 2019-12-27 05:23:03

语法特点:

声明式编码:只在意结果不在意过程

组件化编码: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 id="app"></div>
<!--<script src="../js/react.production.min.js"></script>&lt;!&ndash;react核心库&ndash;&gt;-->
<!--<script src="../js/react-dom.production.min.js"></script>&lt;!&ndash;操作DOM的react扩展库&ndash;&gt;-->
<!--<script src="../js/babel.min.js"></script>&lt;!&ndash;解析JSX语法&ndash;&gt;-->
<script src="../node_modules/react/umd/react.production.min.js"></script><!--react核心库-->
<script src="../node_modules/react-dom/umd/react-dom.production.min.js"></script><!--操作DOM的react扩展库-->
<script src="../node_modules/babel-standalone/babel.min.js"></script><!--解析JSX语法-->
<!--<script src="https://cdn.staticfile.org/react/16.4.0/umd/react.development.js"></script>&lt;!&ndash;react核心库&ndash;&gt;-->
<!--<script src="https://cdn.staticfile.org/react-dom/16.4.0/umd/react-dom.development.js"></script>&lt;!&ndash;操作DOM的react扩展库&ndash;&gt;-->
<!--<script src="https://cdn.staticfile.org/babel-standalone/6.26.0/babel.min.js"></script>&lt;!&ndash;解析JSX语法&ndash;&gt;-->
<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>

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!