zoukankan      html  css  js  c++  java
  • React 必须知道的一些概念

    框架和库的区别:

    1.库是将代码集合成的一个产品,供程序员调用。

      面向对象的代码组织形式而成的库也叫类库。面向过程的代码组织形式而成的库叫函数库。在函数库中的可直接使用的函数叫库函数。此外还有UI组件库

    2.框架则是为解决一个(一类)问题而开发的产品。

      框架用户一般只需要使用框架提供的类或函数,即可实现全部功能。

    总结理解:

      库,相当于是基于 框架 封装的一类的组件集合。

    什么是中间件?

      顾名思义就是在一个执行流程中间用的一个组件,截住过路的然后对其进行控制增强的操作来满足我们的需求。

      react 中间件都是对 store.dispatch() 的增强。

    React

    React 就是纯粹写UI组件的,React 和 react-router, react-redux 结合起来才称得上框架,而React本身只是充当一个前端渲染的库而已。

    React 的各种库都用过哪些:react-router 、redux 、react-redux 、echarts 、antd 、moment 、less 、AicGis 、highcharts

    redux 的中间件:applyMiddleware 、redux-thunk 、redux-promise 、redux-saga

    react 的高阶组件用过哪些:withRouter、connect、自己分装的

    react 的脚手架:Create React Appdvaumiice

    添加装饰器支持@connect

    react 对比 vue 的优势:

    • 更适合大型应用和更好的可测试性
    • Web端和移动端原生 APP 通吃
    • 更大的生态系统,更多的支持和好用的工具(搭配的router和redux以及其中间件包含了很多重要的思想)
    • 比较适合中大型项目(便于测试和后续调试)
    • 是一种在内存中描述 dom 树状态的数据结构
    • 支持在服务端渲染

    虚拟DOM

      react (MVC模式:模型(model)-视图(view)-控制器(controller),单向响应数据流)和 vue (MVVM模式:Model-View-ViewModel,双向数据绑定原理)在设计中都使用了虚拟 DOM(Virtual DOM)。

      为何使用虚拟 DOM ?

        渲染用户界面的时候,dom 的操作成本是最高的,采用虚拟 DOM 是为了尽可能的减少对 dom 的操作。

      虚拟DOM 为何能减少对 dom 的操作?

        Virtual DOM 是一个映射真实 DOM 的 JavaScript 对象,如果需要改变任何元素的状态,那么是先在 Virtual DOM 上进行改变,而不是直接改变真实的 DOM 。

        当有变化产生时,一个新的 Virtual DOM 对象会被创建并计算新旧 Virtual DOM 之间的差别。之后这些差别会应用在真实的 DOM 上。

      改变真实的 DOM 状态远比改变一个 JavaScript 对象的花销要大得多。


    部份内容来自:react和vue的渲染流程对比
    作者:majunchang
    链接:https://www.jianshu.com/p/1960f378b5b4
    来源:简书

     

  • 相关阅读:
    mysql安装前的系统准备工作(转)
    mysql多实例的配置(转)
    饼干怪兽和APT攻击
    Linux
    android application简要类(一)
    轨道sql谈话 dbms_monitor
    Android有关Volley使用(十)至Request和Reponse意识
    data URI scheme及其应用
    java在string和int相互转化
    ComponentName意思
  • 原文地址:https://www.cnblogs.com/MrZhujl/p/13169811.html
Copyright © 2011-2022 走看看