Route
A tradução desta página não existe ou está desatualizada, por isso é mostrada em inglês. Ler em inglês
Register a screen in a Router. Use it in an app with component routes, rather than file routes.
Register a parameterized detail screen
import { Link, Route, Router, Text, VStack, routes, type RouteTo, type ScreenProps } from 'kuito';
declare module 'kuito' {
interface Routes {
index: RouteTo;
show: RouteTo<{ id: number }>;
settings: RouteTo;
}
}
function Home() {
return (
<VStack padding={16}>
<Link to={routes.show({ id: 42 })}>
<Text>Show 42</Text>
</Link>
</VStack>
);
}
function Show({ id }: ScreenProps<{ id: number }>) {
return <Text padding={16}>{`Show ${id}`}</Text>;
}
function Settings() {
return <Text padding={16}>Settings</Text>;
}
export default function App() {
return (
<Router>
<Route name="index" path="/" screen={Home} title="Home" />
<Route
name="show"
path="/show/:id"
params={{ id: Number }}
screen={Show}
title={({ id }) => `Show ${id}`}
/>
<Route name="settings" path="/settings" screen={Settings} presentation="sheet" />
</Router>
);
}Behavior
name identifies the destination, path matches links, and screen renders it. Declare parameter types with params. Route is navigation configuration rather than a visible layout container.
Continue
Read Navigation for a complete workflow. See the complete prop reference for types and documented defaults.
Referência
Assinaturas
<P extends object, R>(_props: RouteProps<P, R>): KuitoNodeParâmetros de tipo
| Nome | Restrição | Predefinição |
|---|---|---|
P | object | — |
R | — | — |
Parâmetros
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
_props | RouteProps<P, R> | Sim | — |
Devolve
Props: RouteProps<P, R>
Props (incluindo props herdadas) 10
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
name | string | Sim | Its key in routes. |
path | string | Sim | Segments, :name params and a final *name: what a deep link's path matches. |
params | { [K in keyof P]?: ParamType; } | Não | How a link's text parses into each param; a path param left out is a string. |
screen | Component<ScreenProps<P, R>> | Sim | — |
title | string | ((params: P) => string) | Não | The native header's title. |
presentation | Presentation | Não | — |
backgroundColor | string | Não | The screen's color, under the bars too; the platform's background without. |
snapPoints | readonly SnapPoint[] | Não | A sheet route's heights, as <Sheet snapPoints> takes them; the platform's default without. |
header | false | ScreenHeader | ((params: P) => false | ScreenHeader) | Não | The native header: false hides it; its items, large title and search otherwise (docs/navigation.md#headers). |
systemBars | SystemBarsProps | Não | The system bars while this screen is focused, as a <SystemBars>'s props (docs/system-ui.md). |
screen — assinaturas de método
Assinaturas
(props: ScreenProps<P, R>): KuitoNodeParâmetros
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
props | ScreenProps<P, R> | Sim | — |
Devolve
systemBars — campos aninhados
systemBars campos
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
statusBar | StatusBarOptions | Não | The status bar's content color, visibility and, on Android, color. |
backgroundColor | string | Não | The root view's color, seen behind the app's views. |
navigationBarColor | string | Não | Android: drawn behind the navigation bar. |
navigationBarButtonStyle | NavigationBarButtonStyle | Não | Android: light buttons for a dark navigation bar, dark buttons for a light one. |
navigationBarHidden | boolean | Não | Android: hides the navigation bar; a swipe from the edge shows it for a moment. |
immersive | boolean | Não | Full screen: hides the status bar, the navigation bar and the home indicator, and on iOS edge swipes reach the app first. The entry's own props, and later entries, win over what it hides. |
homeIndicatorAutoHidden | boolean | Não | iOS: lets the home indicator fade out while the user doesn't touch the screen. |
statusBar — campos aninhados
statusBar campos
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
content | StatusBarContent | Não | The color of the status bar's text and icons. |
hidden | boolean | Não | — |
animated | boolean | Não | Whether changes to content, hidden and backgroundColor animate. |
transition | StatusBarTransition | Não | iOS: how showing and hiding animates, when animated. |
backgroundColor | string | Não | Android: drawn behind the status bar; a hex color. |
translucent | boolean | Não | Android: false lays the app out below the status bar instead of under it. |
Gerado a partir das declarações TypeScript públicas: assinaturas, props e predefinições vêm da fonte verificada, as descrições da sua JSDoc. Nenhuma predefinição é inventada.