UNPKG

xl-aya

Version:

ssr 工具库

51 lines (50 loc) 1.72 kB
import { FunctionComponent } from 'react'; import { useHistory, useParams, Link, StaticRouter } from 'react-router-dom'; declare type RouteConfig = { path: string; component: FunctionComponent; }; declare type RouterConfig = RouteConfig[]; declare type TemplateConfig = { title?: string; keywords?: string; description?: string; icon?: string; viewport?: string; }; declare type AyaApp = { routes: RouterConfig; templateConfig: TemplateConfig; }; declare type GetInitialStateContext = { common: { path: string; query: { [key: string]: string; }; params: { [key: string]: string; }; }; }; declare function useInitialState<T>(): { data: T; setData: (data: T) => void; run: () => void; loading: boolean; error: boolean; }; declare function makeSwitchPages<T>(routess: RouterConfig, ssrData: T): JSX.Element; declare function matchRoute(routes: RouterConfig, pathname: string): { route: RouteConfig; params: { [key: string]: any; }; }; declare function searchToQuery(search: string): { [key: string]: string; }; declare function clientInit(routes: RouterConfig): void; declare function renderHtml(reactHtmlStr: string, jsFilePath: string, initialData: any, mode: 'csr' | 'ssr', templateConfig?: TemplateConfig): string; declare function ssr(pathname: string, app: AyaApp, jsFilePath: string, mode: 'csr' | 'ssr', ctx: GetInitialStateContext, ReactDOMServer: any): Promise<string>; export { RouterConfig, useInitialState, makeSwitchPages, matchRoute, searchToQuery, clientInit, useHistory, useParams, Link, GetInitialStateContext, StaticRouter, renderHtml, AyaApp, ssr, };