UNPKG

jamis

Version:

一种支持通过JSON配置方式生成页面的组件库

49 lines (48 loc) 2.11 kB
import React from 'react'; import type { IScopedContext } from 'jamis-core'; import { ScopedContext } from 'jamis-core'; import type { History } from 'history'; import type { AppProps, AppRouter, AsideNavProps } from '../types'; declare class App extends React.Component<AppProps, object> { static propsList: Array<string>; static defaultProps: Partial<AppProps>; static hookBeforeRenderSchema: (props: AppProps) => void; unWatchRouteChange?: () => void; unWatchHistoryChange?: () => void; unReaction?: () => void; articleRef: HTMLDivElement | null; constructor(props: AppProps); componentDidMount(): Promise<void>; componentWillUnmount(): void; componentDidUpdate(prevProps: AppProps): Promise<void>; handleWinResize: import("lodash").DebouncedFunc<() => void>; setArticleRef: (ref: HTMLDivElement | null) => HTMLDivElement | null; dispatchEventForward: (event: string, more?: Record<string, any>) => void; handleRouterChange: (props: AppProps, location?: History["location"], pathnameChanged?: boolean) => void; reload(subpath?: any, query?: any, ctx?: any, silent?: boolean): Promise<void>; receive(values: object): void; handleNavClick: (e: React.MouseEvent) => void; toggleFolded: () => void; /** * 更新路由页面的配置 */ updatePages: (pages: AppRouter[]) => void; /** * 获取路由页面配置 */ getPages: () => AppRouter[]; renderHeaderBar: (aside: AppProps["aside"]) => JSX.Element; renderHeader: (aside: AppProps["aside"]) => JSX.Element | null; renderNavLink: AsideNavProps['renderLink']; renderAside: (aside: AppProps["aside"]) => JSX.Element | null; render(): JSX.Element; } export declare class AppRenderer extends App { static contextType: React.Context<IScopedContext<import("jamis-core").ScopedComponentType>>; context: React.ContextType<typeof ScopedContext>; constructor(props: AppProps, context: IScopedContext); componentWillUnmount(): void; setData(values: object, replace?: boolean): void; getData(): any; } export {};