mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2025-08-17 10:41:13 +08:00
feat(react): React Router Enhancements (#21693)
This commit is contained in:
29
packages/react/src/routing/RouteManagerContext.ts
Normal file
29
packages/react/src/routing/RouteManagerContext.ts
Normal file
@ -0,0 +1,29 @@
|
||||
import React from 'react';
|
||||
|
||||
import { RouteInfo } from '../models/RouteInfo';
|
||||
|
||||
import { ViewItem } from './ViewItem';
|
||||
|
||||
export interface RouteManagerContextState {
|
||||
addViewItem: (viewItem: ViewItem) => void;
|
||||
clearOutlet: (outletId: string) => void;
|
||||
createViewItem: (outletId: string, reactElement: React.ReactElement, routeInfo: RouteInfo, page?: HTMLElement) => ViewItem;
|
||||
findLeavingViewItemByRouteInfo: (routeInfo: RouteInfo, outletId?: string) => ViewItem | undefined;
|
||||
// findViewItemByPathname: (pathname: string, outletId?: string) => ViewItem | undefined;
|
||||
findViewItemByRouteInfo: (routeInfo: RouteInfo, outletId?: string) => ViewItem | undefined;
|
||||
getChildrenToRender: (outletId: string, ionRouterOutlet: React.ReactElement, routeInfo: RouteInfo, reRender: () => void) => React.ReactNode[];
|
||||
getViewItemForTransition: (pathname: string) => ViewItem | undefined;
|
||||
unMountViewItem: (viewItem: ViewItem) => void;
|
||||
}
|
||||
|
||||
export const RouteManagerContext = /*@__PURE__*/React.createContext<RouteManagerContextState>({
|
||||
addViewItem: () => undefined,
|
||||
clearOutlet: () => undefined,
|
||||
createViewItem: () => undefined as any,
|
||||
findLeavingViewItemByRouteInfo: () => undefined,
|
||||
// findViewItemByPathname: () => undefined,
|
||||
findViewItemByRouteInfo: () => undefined,
|
||||
getChildrenToRender: () => undefined as any,
|
||||
getViewItemForTransition: () => undefined,
|
||||
unMountViewItem: () => undefined,
|
||||
});
|
Reference in New Issue
Block a user