Getting Started

基于配置的路由

编辑此页面

Solid Router 支持基于配置的路由,无需使用 JSX 设置路由。

要定义单个路由,可以将路由定义对象传递给 <Router> 组件:

import { lazy } from "solid-js";
import { render } from "solid-js/web";
import { Router } from "@solidjs/router";
const routes = {
path: "/",
component: lazy(() => import("/routes/index.js")),
}
render(() => <Router>{routes}</Router>, document.getElementById("app"));

在路由定义对象中,必须提供一个 path 属性来定义要匹配的路径,以及一个component 属性来指定当路径匹配时要渲染的组件(或元素)。

要定义多个路由,可以将路由定义对象数组传递给 <Router> 组件:

import { lazy } from "solid-js";
import { render } from "solid-js/web";
import { Router } from "@solidjs/router";
const routes = [
{
path: "/",
component: lazy(() => import("/routes/index.js")),
},
{
path: "/hello-world",
component: () => <h1>Hello, World!</h1>
},
{
path: "/about",
component: lazy(() => import("/routes/about.js")),
}
]
render(() => <Router>{routes}</Router>, document.getElementById("app"));

路由定义对象数组中的每个路径都会与当前 URL 进行匹配,当找到匹配项时,相应的组件将被渲染。在上面的示例中,根路径(/)渲染 Home 页面,路径 /hello-world 渲染一个 h1 元素,路径 /about 渲染 About 组件。

报告此页面问题