Skip to content

createRouter() function

Home > @rimitive/router > createRouter

Create a router instance

Signature:

export declare function createRouter(deps: RouterDeps, routes: RouteConfig[], options?: RouterOptions): Router;

Parameter

Type

Description

deps

RouterDeps

Signal primitives from @rimitive/signals

routes

RouteConfig[]

Route configuration (pure data)

options

RouterOptions

(Optional) Router options

Returns:

Router

import { createRouter } from '@rimitive/router';
const routes = [
{ id: 'home', path: '' },
{ id: 'about', path: 'about' },
{ id: 'products', path: 'products', children: [
{ id: 'product-detail', path: ':id' }
]}
];
const router = createRouter({ signal, computed }, routes);
// Use in view layer
match(router.matches, (matches) => {
const route = matches[0];
if (!route) return NotFound();
return componentMap[route.id]({ params: route.params });
});