Iwa*_*rse 12 reactjs react-router
-- 更新:当我停止开发服务器,退出 VSCode 并再次重新启动它时,它开始工作。不确定是什么原因造成的。
忙于学习 React 并遇到了这个错误。我已经尝试了其他几个 SO 帖子,但似乎无法解决我的问题。
我遵循指南只使用 react-router-dom 并从 react-router-dom 导入 BrowserRouter 和 Route。但我收到一个错误:
./src/App.js
Attempted import error: 'Route' is not exported from 'react-router-dom'.
Run Code Online (Sandbox Code Playgroud)
不确定我在这里做错了什么?
这是我的 App.js
import React, { Component } from 'react';
import Navbar from './components/Navbar'
import { BrowserRouter, Route } from 'react-router-dom'
import Home from './components/Home'
class App extends Component {
render() {
return (
<BrowserRouter>
<div className="App">
<Navbar />
<Route path='/' component={Home} />
</div>
</BrowserRouter>
);
}
}
export default App;
Run Code Online (Sandbox Code Playgroud)
这是我的 package.json:
"name": "poketimes",
"version": "0.1.0",
"private": true,
"dependencies": {
"react": "^16.8.5",
"react-dom": "^16.8.5",
"react-router-dom": "^5.0.0",
"react-scripts": "2.1.8"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
"eslintConfig": {
"extends": "react-app"
},
"browserslist": [
">0.2%",
"not dead",
"not ie <= 11",
"not op_mini all"
]
}
Run Code Online (Sandbox Code Playgroud)
根据我一直在阅读的内容,其他帖子仍然单独使用 react-router,但如果我正确理解文档,我不应该在这个版本中这样做?另外,我正在学习一个完全正确执行此操作的教程,并且它似乎有效。
任何建议将不胜感激,谢谢!
小智 6
问题在我身上得到解决
npm uninstall react-router
Run Code Online (Sandbox Code Playgroud)
和
npm uninstall react-router-dom
Run Code Online (Sandbox Code Playgroud)
然后
npm install react-router react-router-dom
Run Code Online (Sandbox Code Playgroud)
使用5.0.0版本
小智 5
这个问题是由于react-router-dom的版本而发生的。尝试将react-router-dom更新到版本6。
只需运行命令:
npm install react-router-dom@6.0.0-beta.0
Run Code Online (Sandbox Code Playgroud)