尝试使用 React Router v6 时出错:尝试导入错误:“操作”未从“历史记录”导出

Muh*_*zar 5 reactjs react-router react-router-dom

我使用创建了一个新的反应应用程序

npx create-react-app app-name
Run Code Online (Sandbox Code Playgroud)

然后我将目录更改为该应用程序文件夹,然后运行以下命令。

npm install react-router@next react-router-dom@next
Run Code Online (Sandbox Code Playgroud)

然后我运行了我的应用程序,它运行良好。然后我改了默认代码,使用了Routes、Route等,这里是APP代码

import React from 'react';
import {BrowserRouter as Router, Routes, Route} from "react-router-dom"

function App() {
  return (
    <Router>
      <Routes>
        <Route path="/" element={<Home />} />
      </Routes>
    </Router>
  );
}

function Home()
{
  return <div>
        <h1>Home</h1>
    </div>
}

export default App;
Run Code Online (Sandbox Code Playgroud)

我收到错误:

Attempted import error: 'Action' is not exported from 'history'.
Run Code Online (Sandbox Code Playgroud)

错误路径为:

./node_modules/react-router/index.js
Run Code Online (Sandbox Code Playgroud)

知道它有什么问题吗?

Muh*_*zar 5

我的代码没有任何问题。也许问题出在最新版本的 React-Router 上。所以,我只是更改了 React-Router 的版本。

"react-router": "^6.0.0-beta.0"
"react-router-dom": "^6.0.0-beta.0"
Run Code Online (Sandbox Code Playgroud)

"react-router": "6.0.0-alpha.2",
"react-router-dom": "6.0.0-alpha.2"
Run Code Online (Sandbox Code Playgroud)

它工作得很好,没有任何问题。我在我的问题中提到的相同代码无需任何更改即可正常工作。:)


小智 5

您需要安装另一个名为history. 做npm i history

更多信息在这里