react1

91 阅读1分钟

特点

  • 组件化、声明式编程

  • React Native

  • 虚拟DOM+Diffing算法,减少与真实DOM交互

  • babel:

  • es6转es5,import

  • jsx转js

  • react.developemnt.js:核心库

  • react.dom.development.js:扩展库

虚拟DOM

  • object 对象
  • 虚拟dom属性较少,真实dom属性多,虚拟在react内部用
  • 虚拟dom会被react转成真实dom

jsx

  • 定义虚拟dom,不要写引号

  • 标签中混入js表达式要用{}

  •  样式类名用className

  • 内联样式,style={{key:value}} ,外层{}表示写js了,内层{}表示写的不是函数数组,而是对象

  • 只有一个根标签

  • 标签必须闭合

  • 标签首字母

  • 小写开头,会转换为html中同名元素

  • 大写开头,react会渲染对应的组件

js语句与js表达式

  • 表达式:会产生一个值,可以放在任何一个需要值的地方

    a
    a+b
    demo(1)
    arr.map()
    function test() {}
    
  • 语句

    if() {}
    for() {}
    switch() {case: xxx}
    

模块与组件、模块化与组件化

  • 模块:js文件,可复用,提高效率
  • 组件: 用来实现局部功能效果的代码和资源集合(html、css、js、img等)