react和vue对比:

 

1 什么是模块化: 从代码的角度进行分析。(可以复用的代码 ,抽离为单个模块,便于模块的维护和开发)

2 什么是组件化:从UI界面进行分析。(把可复用的UI元素,抽离为单独的组件)

3 组件化的好处:  抽离出为单独的组件。

4 vue如何实现组件化: 通过 vue文件,创建对应的组件。 template scirpt style

5 react如何实现组件化:组件模板文件,一切都是js表现的。(ES6+ES7(async和await)要会用)。

 

react的核心概念!!!

1 DOM的本质。 浏览器提供的!!!! js对象表示页面上的元素,并且提供的操作的DOM对象的API

2 虚拟DOM: 程序员提供的!!!js对象模拟页面上的DOM和DOM 嵌套。

3 为什么实现虚拟DOM ,为了实现页面中,DOM元素的高效更新。

 

问题1: 只需要按新更新, 如何获取到新旧DOM树, 从实现DOM树的对比呢?

  答案:浏览器并没有直接提供获取DOM树的API ,因此无法拿到浏览器内存中DOM树。

问题2:程序员如何模拟DOM树? 如何模拟DOM元素? 1本质:数据结构:对象形式。 2 目的:实现页面元素的高效更新。

  <div id =’mydiv' title='number1'>caomei</div>

   var div =  {
    tagName:‘div’
    attrs:{
      id: 'mydiv'

      title: ' number1'
      'data-index':'0'
      }

    childrens: [

        'caomei'
      ]

  }

 

  
<div id =’mydiv' title='number1'>
  caomei
   <p>pinggu</p> 

  </div>
    
   var div =  {
    tagName:‘div’
    attrs:{
      id: 'mydiv'

      title: ' number1'
      'data-index':'0'
      }

    childrens: [

        'caomei',
        { tagName :‘p',
          attrs:{},
          childrebn:['apple']

      ]

  }

 

 

Diff 算法:

 

 

一个网页的呈现过程:

1 浏览器 请求服务器获取页面HTML的代码

2 浏览器要在内存中,解析DOM结果,在内存中,渲染出DOM树。

3 浏览器把DOM书,呈现在页面是。(栅格化)

 

 

 

组件:

 

类组件。

 

posted on 2021-02-22 15:53  程序员草莓  阅读(46)  评论(0编辑  收藏  举报