Umi
的路由是基于 react-router@6.3
实现(注:不是最新的 6.4,6.4 包含的 loader
和 action
功能并不是 Umi
所需要的)。
通过命令即可创建路由:
npx umi g page products
会自动创建两个文件:
在根目录找到配置文件 .umirc.ts
:
import { defineConfig } from "umi";
export default defineConfig({
routes: [
{ path: "/", component: "index" },
{ path: "/docs", component: "docs" },
],
npmClient: 'yarn',
});
修改 .umirc.ts
,加上新增的路由声明:
import { defineConfig } from "umi";
export default defineConfig({
routes: [
{ path: "/", component: "index" },
{ path: "/docs", component: "docs" },
{ path: "/products", component: "products" },
],
npmClient: 'yarn',
})
编辑 src/layouts/index.tsx
文件,在全局布局路由里加上到 /products
路径的导航:
import { Link, Outlet } from 'umi';
import styles from './index.less';
export default function Layout() {
return (
<div className={styles.navs}>
<ul>
<li>
<Link to="/">Home</Link>
</li>
<li>
<Link to="/docs">Docs</Link>
</li>
<li>
<Link to="/products">products</Link>
</li>
<li>
<a href="https://github.com/umijs/umi">Github</a>
</li>
</ul>
<Outlet />
</div>
);
}
页面效果: