React学习笔记| 青训营笔记

44 阅读2分钟

1. react- 用于构建用户界面的javaScript 库

发送请求获取数据
处理数据(过滤、整理)
操作dom 呈现页面

react 是一个将数据渲染微HTML视图的开源 JavaScript库

2. facebook开发,且开源

3. 原生JavaScript

    原生javaScript操作DOM繁琐、效率低(DOM-APL 操作 UI)。

    使用javascript直接操作DOM,浏览器会进行大量的重绘重排。

    原生JavaScript没有组件化编码方案,代码复用率低。

4. react 特点

采用组件化模式、声明式编码,提高开发效率及组件复用率。 
React Native 中可以使用 React语法进行移动端开发
使用虚拟DOM + 优秀的Diffing算法,尽量减少与真实DOM的交互

1、hello  react

      react 核心库和react-dom的引入要放在前面  

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta chartset="UTF-8">
    <title>hello_react</title>
  </head>
  <body>
    <!-- 准备一个容器 -->
    <div id="test"></div>
    <!-- 引入react核心库 -->
    <script src="https://unpkg.com/react@16/umd/react.development.js"></script>
    <!-- 引入react-dom,用于支持react操作DOM -->
    <script src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script>
    <!-- 引入babel,用于将jsx转为js -->
    <script src="https://unpkg.com/babel-standalone@6.15.0/babel.min.js"></script>
 
    <script type="text/babel"> /* 此处一定为babel*/
      // 1. 创建虚拟DOM
      const VDOM = <h1>Hello,React</h1> /* 不用写引号,因为不是字符串,是jsx*/
      // 2. 渲染虚拟DOM到页面
      ReactDOM.render(VDOM, document.getElementById('test'))
    </script>
  </body>
</html>

2.  创建虚拟DOM

        JSX创建虚拟DOM更方便,相当于语法糖

3. 虚拟DOM和真实DOM

    虚拟DOM: 

            1、本质上是一个Object对象,一般对象

            2、虚拟DOM比较 ”轻",真实DOM比较 “重”, 因为虚拟DOM是React内部在用,无需真实DOM这么多的属性

            3、虚拟DOM最终会被React转化成真实DOM,呈现在页面上。             
            

4. jsx 语法规则

    --XML早期用于存储和传输的数据

    -- JSON 也是用于存储和传输的数据,js内置对象

      1、定义虚拟DOM时,不要写引号

      2、标签中混入JS表达式时要用 {}

      3、样式的类名指定不用 class,要用className.

      4、内联样式,要用style = {{key: value}} 的形式去写

      5、只有一个跟标签

      6、标签必须闭合

      7、标签首字母

        (1)若小写字母开头,则将该标签转为 html同名元素,若html中无该标签,则报错

        (2)若大写字母开头,react就去喧嚷对应的组件,若组件没有定义,则报错