HashRouter
编辑此页面HashRouter
是一个管理应用程序路由的顶层组件。
它是一个客户端路由器,使用 URL 中的哈希值 - 为单页应用程序提供一种模拟多页应用程序体验的方式。
由于哈希路由提供了一种让应用程序从单个 HTML 文件运行的方式,因此它可以用于静态文件服务器上的托管。
与浏览器路由器(如 Router
)相比,这种方法的缺点是不利于 SEO。
因为大多数搜索引擎不会索引 URL 的哈希部分,使用这种方法时它们只能看到应用程序的索引页面。
root
属性用于包装匹配路由的组件,这些组件需要访问路由器上下文,与使用 <A>
链接的导航组件相关。
import { render } from "solid-js/web";import { HashRouter, Route } from "@solidjs/router";
const App = (props) => ( <> <h1>根标题</h1> {props.children} </>);
render( () => <HashRouter root={App}>{/*... 路由 */}</HashRouter>, document.getElementById("app"));
| 属性 | 类型 | 描述 |
| ------------- | -------------------------------------------------------- | ----------------------------------------------------------------------------------- |
| children | JSX.Element
, RouteDefinition
, 或 RouteDefinition[]
| 路由定义 |
| root | Component | 顶层布局组件 |
| base | string | 用于匹配路由的基础 URL |
| actionBase | string | 服务器操作的根 URL,默认值:/_server
|
| preload | boolean | 全局启用/禁用预加载,默认值:true
|
| explicitLinks | boolean | 禁用所有锚点的拦截,而是需要使用 <A>
。默认值:false
|