跳到主要内容

usePage

获取当前页面(栈)

何时使用

当需要获取页面实例或页面栈信息时

API

const [stackLength, { pageInstance, pageStack }] = usePage(scope?: string);

参数

参数说明类型默认值
scope组件内的选择器string-

返回值说明

返回值说明类型
stackLength页面栈长度number
pageInstance当前页面实例(包含app)Current
pageStack页面栈(数组中第一个元素为首页,最后一个元素为当前页面)Page[]

代码演示

basic/usePage/index
import React from 'react';
import DemoContent from '@src/components/DemoContent';
import { Cell } from '@taroify/core';
import { usePage } from 'taro-hooks';

export default () => {
const [stackLength, { pageInstance = {} }] = usePage();

return (
<DemoContent>
<Cell.Group clickable>
<Cell title="路由栈长度" brief={stackLength}></Cell>
<Cell title="当前页面信息" brief={JSON.stringify(pageInstance)}></Cell>
</Cell.Group>
</DemoContent>
);
};

Hook 支持度

微信小程序H5ReactNative
✔️✔️✔️

FAQ

  • 请勿直接修改获取到的页面栈, 会导致页面状态或路由错误

  • useScopeselector参数请配合CustomWrapper使用(相关传送门)