Type alias RouterConfig

RouterConfig: {
    [key: Exclude<string, "*" | "**">]: RouterConfig | (() => JSX.Element | Promise<JSX.Element>);
} | {
    *: ((arg) => RouterConfig | JSX.Element | Promise<JSX.Element>);
} | {
    **: ((arg) => JSX.Element | Promise<JSX.Element>);
}

Routing configuration that maps path segments to components.

Type declaration

  • [key: Exclude<string, "*" | "**">]: RouterConfig | (() => JSX.Element | Promise<JSX.Element>)

Type declaration

  • *: ((arg) => RouterConfig | JSX.Element | Promise<JSX.Element>)
      • (arg): RouterConfig | JSX.Element | Promise<JSX.Element>
      • Parameters

        • arg: string

        Returns RouterConfig | JSX.Element | Promise<JSX.Element>

Type declaration

  • **: ((arg) => JSX.Element | Promise<JSX.Element>)
      • (arg): JSX.Element | Promise<JSX.Element>
      • Parameters

        • arg: string[]

        Returns JSX.Element | Promise<JSX.Element>

Example

createRouter({
'': () => <Home/>,
'users': {
'': () => <ListUsers/>,
'*': userId => ({
'': () => <ShowUser userId={userId}/>
'comments': () => <ListUsersComments userId={userId}/>
}),
},
'**': () => <NotFound/>,
});