zoukankan      html  css  js  c++  java
  • React 和 vue的区别以及React的环境搭建,运行

    # React
    ## React 和 vue
    - React 和 vue 同属MVVM框架
      - M:model
      - V:VIEW
      - VIEWMODEL
    - React 全部是在js中定义的,不象vue将文件拆分为3部分。
    - react 不存在模板的说法
    ## 虚拟DOM
    - 概念
      - DOM是浏览器提高的API数量相对固定,扩展比较难
      - 虚拟DOM:用js对象表现出DOM的内容以及层级系,可以自定义api,通过特定的方式渲染到页面中。
    - 原理
      - 按需更新,重新渲染
    - diff算法
      - 逐层对比新旧dom树,所有节点对比完毕后,就能定位到变化的部分了,将变化部分的组件移除,替换新的组建。
      - 在每个DOM节点上都会生成一个key,这个key将dom节点与虚拟dom关联
    ## react 框架搭建
      - 安装nodejs
      - npm install -g create-react-app
      - create-react-app react_demo1
      - 项目名称不能大写
      - 终端 运行 npm run start  运行项目
     
    ## JSX基础
     - 它是符合XML规范的js语法,即开闭标签 ** 必须** 完整
     - jsx内部运行时,先把html代码转换为Js对象,组成虚拟dom
     - jsx所有元素只能由一个根基节点
    ### 渲染标签
    注意1:在html中要使用className代替class
    注意2:无论在数组还是在变量中去赋值dom,都不需要加引号
    注意3:只有有数组,就要用到Key

    ##组件
    注意1:react是一个组件级的框架,所有的组件或路由都是组件的形式存在的,只要注意组件的首字母不能小写,若小写就会被认为是普通的html,有响应式组件,非响应式组件;
     
    ----------demo---------
    import React from 'react';
    import ReactDOM from 'react-dom';
    import './index.css';
    import App from './App';
    import reportWebVitals from './reportWebVitals';

    //var mydiv=React.createElement('div',{calss:'my-div',id:'mydiv'},'hello denny')

    //var msg="text "
    //var mydiv2=<div>{msg}</div>

    function MyComponent() {
      return <div>my name is denny</div>
    }

    ReactDOM.render(
      // <React.StrictMode>
      //   <App />
      // </React.StrictMode>,

      //mydiv,

      //mydiv2,

       <React.StrictMode>
         <MyComponent />
       </React.StrictMode>,
      
      document.getElementById('root')
    );

    // If you want to start measuring performance in your app, pass a function
    // to log results (for example: reportWebVitals(console.log))
    // or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
    reportWebVitals();
     
    ---------------run react---------------------------------------------
    1 cmd  (project path)
    2 cnpm i
    3. vscode  npm run start
     
  • 相关阅读:
    tcp笔记
    sublime使用技巧
    mysql笔记
    ubuntu安装mysql
    正则表达式笔记
    网络编程笔记
    swoole安装异步reids
    mysql的时间存储格式
    nginx环境的搭建
    php的闭包函数use的使用
  • 原文地址:https://www.cnblogs.com/csj007523/p/14993553.html
Copyright © 2011-2022 走看看