useGetPanelForView
Используйте эту функцию, чтобы получить информацию о компоненте Panel, который должен отображаться в указанном View при переходе на другой View. Эта информация нужна для правильной работы VKUI-анимации при смене View.
Пример
import { useGetPanelForView } from '@vkontakte/vk-mini-apps-router';
const defaultActivePanel = useGetPanelForView(DEFAULT_VIEW);
const emptyActivePanel = useGetPanelForView(EMPTY_VIEW);
<View
nav={DEFAULT_VIEW}
history={history}
activePanel={defaultActivePanel || DEFAULT_VIEW_PANELS.HOME}
onSwipeBack={() => routeNavigator.back()}
>
<View
nav={EMPTY_VIEW}
history={history}
activePanel={emptyActivePanel || EMPTY_VIEW_PANELS.EMPTY}
onSwipeBack={() => routeNavigator.back()}
>
Другой пример
Пример вызова функции также можно найти в разделе Установка и подключение — Шаг 3. Используйте роутер для отрисовки страниц.
Объявление
export function useGetPanelForView(view?: string): string | undefinedПараметры
Параметр | Тип | Описание |
|---|---|---|
view
необязательный | string | Идентификатор компонента View, для которого нужно получить информацию об отображаемом Panel.
Если параметр отсутствует, функция будет использовать ту же информацию об активной панели, которую можно получить, вызвав useActiveVkuiLocation(). |
Результат
Идентификатор компонента Panel, который будет использоваться в отрисовке VKUI-анимации при смене View.
Особенности использования
- •
Вызовы функции
useGetPanelForView()должны проходить в рамках компонентаRouterProvider. - •
Используйте
useGetPanelForView()в приложениях, которые сдержат несколько компонентовViewв одном компонентеRoot. Если в приложении одинViewвRoot, то достаточно использовать информацию оPanel, которую вы получаете отuseActiveVkuiLocation(). - •
Функция возвращает один компонент
Panelдля одногоView. Чтобы получитьPanelдля разныхView, вызовите функцию несколько раз.
Материалы по теме
- •
- •
- •