zoukankan      html  css  js  c++  java
  • react介绍

    一.react简介

    1.起源于facebook,2013年5月开源

    2.特点

    I.声明式设计。(声明式是告诉计算机做什么,不管他怎么做 如map。而命令式式告诉计算机怎么做 如for。)

    II.高效

    III.灵活

    IV.jsx

    V.组件

    VI.单向数据流

    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.函数化编程(编程范式)结构化编程的一种

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

    ①纯函数  输入什么就输出什么,不依赖外部环境的状态。

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

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

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

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

    如:对var add=(x,y)=>x+y科里化

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

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

    函数式编程的优点:

    a:代码简洁,开发快速

    b:接近自然语言,易于理解

    c:更方便的代码管理,

    d:易于“并发编程”

    e:代码的热升级

    8.vue和react的区别

    相同点:①都是用虚拟DOM

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

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

    不同点:①优化性能方面 react有自己的一套方法,用来减少一些不必要的虚拟DOM

        ②react用的是jsx语法,而vue是将html,js,css放到vue文件里

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

        ④react约束小灵活性大,使用js语法多,适合开发大项目

           vue约束大灵活性小,适合快速开发项目

  • 相关阅读:
    [背包问题][二进制优化] Jzoj P4224 食物
    [并查集][排序] Jzoj P4223 旅游
    [哈夫曼树][优先队列] Bzoj P4198 荷马史诗
    [hash][差分][虚树] Jzoj P6011 天天爱跑步
    [dp] Jzoj P6012 荷马史诗
    [dp][递归] Jzoj P4211 送你一棵圣诞树
    [数学] Jzoj P3912 超氧化钾
    堆学习笔记(未完待续)(洛谷p1090合并果子)
    [AC自动机]luogu P2444 病毒
    [概率期望][DP]luogu P3830 随机树
  • 原文地址:https://www.cnblogs.com/950209gkl/p/10106579.html
Copyright © 2011-2022 走看看