生命周期钩子

在此过程中,它也会运行被称为生命周期钩子的函数,

让开发者有机会在特定阶段运行自己的代码。

onMounted:代表的是挂载结束,注册一个回调函数,在组件挂载完成后执行。

onUnmounted:注册一个回调函数,在组件实例被卸载之后调用。

onUpdated:在组件因为响应式状态变更而更新其 DOM 树之后调用

生命周期主要包含四个阶段分别是:创建,更新,挂载,销毁

1。onmounted

一般我们如果要获取节点,可以使用在节点定义一个ref,scroll是script定义的常量,变量之类的。

<scroll-view scroll-y="true" ref="scroll">
            <view></view>
        </scroll-view>

我们可以在控制台输出一下这个变量,如果为null则表示没有得到这个节点

const scroll=ref(null);//默认为null
	console.log(scroll.value);//null

 上面的代码运行之后可以看到输出的是null,是没有获取到节点的,我们需要使用onMounted,

这样我们就可以获取到这个节点了。

const scroll=ref(null);//默认为null
	onMounted(()=>{
		console.log(scroll.value);
	})

 2。onUnmounted

我们可以在页面中使用自定义的子组件,然后再子组件中定义一个v-if来判断子组件是否显示,

默认为true显示,setinterval时间到了之后为false隐藏

<cay-demo v-if="show"></cay-demo>

 const show=ref(true);
    setInterval(()=>{
        show.value=false;
    },3000)

在子组件中使用onUnmounted来监听,只要子组件卸载就会监听到

二.页面声明周期 

onLoad:页面加载时调用,被钩子调用时,用于监听响应式数据,计算属性,方法,侦听器

onReady:监听页面初次渲染完成,此时组件已挂载完成,和组件生命周期onMounted类似

onShow:监听页面显示,页面每次出现在屏幕上都触发,包括从下级页面点返回露出当前页面

onHide:监听页面隐藏,离开页面是触发

执行顺序是:onLoad>onShow>onReady

onLoad使用前需要声明,import {onLoad} from "@dcloudio/uni-app"

否则会出错。

import {onLoad} from "@dcloudio/uni-app"
	onLoad(() => {
		console.log("onload函数");
	})

也可以接收到其他页面跳转传过来的值后对象

import {onLoad} from "@dcloudio/uni-app" 
    const name=ref("")
    const age=ref("")
    onLoad((e) => {
        console.log("onload函数");
        name.value=e.name;
        age.value=e.age;
    })

比如我们在页面弄一个计时器离开页面时暂停,回来后继续计时

let count=ref(0);//定义一个变量默认为0
	let time=setInterval(()=>{
		count.value++;//每次进入count的值加一
	},1000)
	onShow(()=>{
		//回来后重新赋值计算
		time=setInterval(()=>{
			count.value++;
		},1000)
	})
	onHide(()=>{
		clearInterval(time);//离开页面时清除计时器
	});
计时器:{{count}}

React生命周期钩子是在组件的不同阶段执行特定的操作的函数。根据引用提供的信息,React组件的生命周期可以分为实例化、存在期和销毁期。在实例化阶段,以下方法会被调用(按顺序执行):getDefaultProps、getInitialState、componentWillMount、render和componentDidMount。 在存在期阶段,组件会根据不同的情况执行不同的生命周期钩子。其中,引用提到的两个生命周期钩子getDerivedStateFromProps和getSnapshotBeforeUpdate属于存在期。 getDerivedStateFromProps是一个静态方法生命周期钩子(引用),它在组件接收新的props时被调用,并且它应该返回一个新的state对象或null值。这个钩子主要用于在props改变时更新组件的state。 getSnapshotBeforeUpdate是另一个存在期的生命周期钩子,它在组件更新之前被调用。它的返回值将作为componentDidUpdate方法的第三个参数传递。这个钩子通常用于在组件更新前保存一些信息,比如滚动位置,然后在组件更新后恢复滚动位置。 除了上述提到的钩子外,React还提供了其他的生命周期钩子函数,如componentWillReceiveProps、shouldComponentUpdate、componentWillUpdate和componentDidUpdate等。这些钩子函数可以帮助我们在组件的不同阶段执行一些必要的操作,以便更好地控制和管理组件的行为。 综上所述,React生命周期钩子是在组件的不同阶段执行特定操作的函数,其中包括实例化阶段、存在期阶段和销毁期阶段。其中getDerivedStateFromProps和getSnapshotBeforeUpdate是在存在期阶段执行的两个重要钩子函数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值