• React简介


    1、起源于Facebook,2013年开源。

    2、特点:

    声明试设计(声明试是告诉计算机做什么,不管他怎么做,命令式是告诉计算机怎么做)。

    高效:通过虚拟Dom,最大程度上减少真实Dom的交互。

    灵活:约束小,可与已知的库和框架很好的配合。

    JSX:js语法的扩展。

    组件:通过面向对象使组件得到复用。

    单向数据流:子集不能修改父集传过来的参数。

    3:虚拟Dom:一个真实的JS对象,由于直接操作Dom就会发生回流,成本过高。

    4:回流与重绘:

    回流:当render树中的一部分或者全部因为大小距离等问题改变而需要重建的过程。

    重绘:当元素的一部分属性发生变化,如外观背景,不会引起布局变化而需要重新渲染的过程。

    回流必能引起重绘,重归不一定能引起回流。

    5、浏览器如何渲染页面:

    HTML解析器,解析HTML结构,生成Dom树。

    Css解析器,解析CSS的内链样式,生成样式表。

    讲Dom树和样式表结合,生成Render树(每个Dom元素都有一个方法用来接收样式表信息,返回一个render对象,render对象编译生成render树)。

    render树渲染完毕后浏览器会根据样式表来决定页面的位置。

    6:专注视图层:专注提供清晰简介的View解决方案

    注:vue和react本质是VC框架,配合第三方包(如Vuex)才是MVC框架。

    7:函数化编程:结构化编程的一种

    主要思想:把问题的解决方案写成一系列嵌套的函数调用

    纯函数:作用与相同的输入,永远会得到相同的输出,没有任何可观察的副作用,也不会依赖外部环境的状态。

    eg:Array.slice(不改变原数组)     纯函数

      Array.splice(改变原数组)       不是纯函数

    优点:有效降低系统的复杂性,可缓存性

    柯里化函数:传递给函数的一部分用来调用他,让他返回一个函数去处理 剩下的参数

    eg: var add=(x+y)=>x+y    柯里化函

       var add=(a)=>(b)=>a+b;add(3)(2)//5

    是一种预加载函数的方法,通过传递较少的参数,得到一个已经记住了这些参数的新函数,是一种对参数的缓存。

    函数组合:为了解决函数嵌套问题[Fn(g(f(x))],需要用到函数组合。

    var compose =(f,g)={x=>f(g(x))}

    函数化编程的优点:代码简介,开发快速。    接近自然语言,易于理解 。    更方便代码管理。   易于并发编程      代码的热升级

    8、vue与react的区别:

    相同点:都使用的虚拟Dom

        都提供了响应式和组件化的视图组件。

        讲注意力集中保持在核心库,其他功能如路由和全局状态管理交给其他库。

    不同点:优化性方面,react有自己的一套东西,shouldComponentUpdate用来减少一些不必要的虚拟Dom对比。

        react用的是JSX语法,而Vue是将html,js,css放到Vue文件里。

        react的css是写在单独的文件里,vue是写在vue文件里

        react约束性小,灵活性大,使用原生JS较多,适合开发大型项目,vue灵活性小,约束性大(指令等)适合快速开发项目

  • 相关阅读:
    订餐系统
    throw和throws
    CF999E Solution
    CF1142B Solution
    CF965C Solution
    CF963B Solution
    CF999F Solution
    CF975D Solution
    CF997B Solution
    hdu 2553 N皇后
  • 原文地址:https://www.cnblogs.com/yuezengxu/p/10106478.html
Copyright © 2020-2023  润新知