vue生命周期-小程序生命周期-react生命周期及场景?
原创
©著作权归作者所有:来自51CTO博客作者喜欢吃鱿鱼的原创作品,请联系作者获取转载授权,否则将追究法律责任
Vue2.0 组件生命周期
- beforeCreate:创建前,此时data和methods中的数据都还没有初始化;
- created在:实例创建完成后被立即调用,data中的数据和方法,未挂载可以访问;
- beforeMount:挂载开始之前:可以发起服务端请求,请求数据;
- mounted: 挂载到实例上去之后调用,此时可以操作DOM;(注意:并不能确定子组件被全部挂载,如果需要子组件完全挂载之后执行操作可以使用$nextTick)
- beforeUpdate:数据更新时调用,发生在虚拟 DOM 打补丁之前;
- updated:由于数据更改导致的虚拟 DOM 重新渲染和打补丁;
- beforeDestroy:实例销毁之前调用;
- destroyed:Vue 实例销毁后调用。Vue 实例解绑,事件监听移除,子实例被销毁;
vue3.0组件生命周期
- setup 创建实例前;
- onBeforeMount 挂载DOM前;
- onMounted 挂载DOM后;
- onBeforeUpdate 更新组件前;
- onUpdated 更新组件后;
- onBeforeUnmount 卸载销毁前;
- onUnmounted 卸载销毁后;
小程序应用生命周期
- onLaunch:监听小程序启动,渲染完成 (全局只触发一次);
- onShow:监听小程序启动 或 从后台进入前台 (可以触发多次);
- onHide:监听小程序隐藏 或 从后台进入前台时 (可以触发多次);
- onError:监听出现异常;
小程序页面生命周期
- onload():监听页面加载。一个页面只会调一次,可以获取当前页面路径中的参数;
- onShow():监听页面显示 / 切入前台;
- onReady():监听页面初次渲染完成。一个页面只调一次,页面可以和视图层进行交互;
- onHide():监听页面隐藏 / 切入后台。 顶部或底部 tab 切到其他页面;
- onUnload() 监听页面卸载。如 redirectTo 或 navigateBack 到其他页面时;
小程序组件生命周期
- created: 监听组件实例被创建;(用于给组件的 this 添加自定义的属性)
- attached:监听组件实例初始化完毕 / 进入页面节点树;(发请求获取初始数据)
- ready:监听组件在视图层布局完成;(可操作页面)
- moved:监听组件实例被移动到节点树另个位置;
- detached:监听组件实例从页面节点树被移除;(清除定时器)
- error:监听组件方法抛出错误;
小程序组件所在页面生命周期
- show:组件所在页面被展示
- hide:组件所在页面被隐藏
- resize:组件所在页面尺寸改变时
react 生命周期函数
- getDrivedStateFromprops:state的值在任何时候都取决于props时;
- render:必须调用的方法,负责页面的渲染,页面初始加载就会先调用render一次;
- constructor:构造函数,如果没有数据初始化就不用单独调用;
- componentDidMount:组件挂载完毕(插入到DOM)后,会被立即调用;
- componentDidUpdate:更新完成后被立即调用;
- componentWillUnmount:会在组件销毁之前被调用,(组件清理工作,清除计时器、网络请求);
- getSnapshotBeforeUpdate;
- shouldComponentUpdate:常用于性能优化,防止render进行多次渲染,消耗性能;