@pisell/pisellos
Version:
一个可扩展的前端模块化SDK框架,支持插件系统
29 lines (28 loc) • 1.09 kB
TypeScript
import App from '../app';
import React from 'react';
import type { ApplicationInterface } from '../applicationManager/application';
export interface RouterOptions {
routes?: Record<string, RouteType>;
basename?: string;
}
export interface RouteType extends ApplicationInterface {
}
export declare class RouterManager {
routes: Record<string, RouteType>;
options: RouterOptions;
app: App;
constructor(options: RouterOptions | undefined, app: App);
init(): void;
getRoutes(): Record<string, RouteType>;
getBasename(): string | undefined;
setBasename(basename: string): void;
add(name: string, route: any): void;
get(name: string): RouteType;
has(name: string): boolean;
remove(name: string): void;
renderComponent(item: RouteType, children?: React.ReactNode): string | number | boolean | Iterable<React.ReactNode> | React.JSX.Element | null | undefined;
getPageByRoute(route: string): ApplicationInterface | undefined;
getRouterComponent({ fallback }: {
fallback?: React.ReactNode;
}): React.JSX.Element[];
}