Vue与React生命周期异同浅析

Vue与Reac都有lifecycle生命周期的概念,每个组件实例在被创建之前都要经过一系列的初始化过程。

生命周期

指组件从初始化开始到结束的过程 或生命周期是描述组件从开始到结束的过程,每个组件都具有生命周期,都对组件通过生命周期给予的钩子函数进行管理。

钩子函数

指系统某些状态和参数发生改变的时候,系统立马去通知对应处理的函数叫钩子函数

Vue生命周期

触发vue的created事件以后,this便指向vue实例


      var mlistVue = new Vue({
    
    
        data: {
    
    
          date "内容"
        },
        created: function () {
    
     
          //在实例创建之后同步调用,已建立;
          //没有开始 DOM 编译,$elment还不存在,但是实例存在,即this.date存在,可打印出来 。
          console.log("建立");
        },
        beforeCompile: function () {
    
    
          console.log("未开始编译");
        },
        compiled: function () {
    
     
          //在编译结束后调用,此时所有的指令已生效,数据的变化将触发 DOM 更新。
          console.log("编译完成");
        },
        ready: function () {
    
     
          //在编译结束和 $elment第一次插入文档之后调用,在第一次钩子之后调用。
          console.log("一切准备好了");
        },
        attached :function () {
    
    
          //暂时触发不了
          //在 vm.$elment插入 DOM 时调用
          console.log("插入DOM成功");
        },
        detached :function () {
    
    
          //在 vm.$elment从 DOM 中删除时调用。必须是由指令或实例方法删除,直接操作 vm.$elment不会 触发这个钩子。
          console.log("删除DOM成功");
        },
        beforeDestroy: function () {
    
     
          //触发方式,在console里面打listVue.$destroy();
          //在开始销毁实例时调用。此时实例仍有功能。
          console.log("销毁前");
        },
        destroyed: function () {
    
      
          //触发方式,在console里面打myVue.$destroy();其中myVue.$destroy(true)是删除DOM节点,会触发detached函数,但实例仍然存在
          //在实例被销毁之后调用。此时所有的绑定和实例的指令已经解绑,注意是解绑不是销毁,所有的子实例也已经被销毁。
          console.log("已销毁");
        }
    });

转载大佬:https://www.jb51.net/article/147680.htm

React生命周期

https://blog.csdn.net/Menqq/article/details/108514326

猜你喜欢

转载自blog.csdn.net/Menqq/article/details/111240157