react-router-dom@6中无法直接使用history模块,换了如下方式:

import * as React from "react";
import * as ReactDOM from "react-dom";
import {
  createBrowserRouter,
  RouterProvider,
} from "react-router-dom";

function Page1() {
    // ...
}

function Page2() {
    // ...
}

// 将这个router导出,就可以在组件外进行路由跳转了
const router = createBrowserRouter([
  {
    path: '/page1',
    element: <Page1 />,
  },
  {
    path: '/page2',
    element: <Page2 />,
  }
]);

ReactDOM.createRoot(document.getElementById("root")).render(
  <RouterProvider router={router} />
);

// 调用方式
router.navigate('/path-to-go');

热饭班长
3.7k 声望434 粉丝

先去做,做出一坨狗屎,再改进。