使用 Taro.getCurrentInstance() 可以获取到当前对应的页面实例
坑点
在appHide时会有个onHide的生命周期,这是小程序级别的最小化到后台,非页面级
此时通过该api,在微信小程序里会获取不到当前页面实例,在支付宝小程序里可以正常获取到
const handleHide = useMemoizedFn(() => {
const curPage = Taro.getCurrentInstance();
console.log(curPage, 'appHide');
});
useEffect(() => {
Taro.onAppHide(handleHide);
return () => {
Taro.offAppHide(handleHide);
};
}, []);
image.png
解决
const pages = Taro.getCurrentPages();
const currentPage = pages[pages.length - 1];