【发布时间】:2019-08-15 08:18:08
【问题描述】:
-- 更新:当我刚刚停止开发服务器、退出 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'.
不确定我在这里做错了什么?
这是我的 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;
这是我的 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"
]
}
根据我一直在阅读的内容,其他帖子仍然单独使用 react-router,但如果我正确理解文档,我不应该在这个版本中这样做吗?另外,我正在关注一个完全做到这一点的教程,它似乎有效。
任何建议将不胜感激,谢谢!
【问题讨论】:
-
请用这个;从“react-router-dom”导入 { BrowserRouter, Route, Link };
-
react-router 5 可能存在依赖问题。reacttraining.com/blog/react-router-v5 现在将您的 react-router 降级到版本 4 并检查。
-
该代码似乎适用于 react-router-dom v5。 codesandbox.io/s/n5r3vz9980。你能发布一个可重现的例子吗
-
@TyroHunter 另一个在依赖项中没有 react-router
-
大家好。当我停止开发服务器、关闭 VSCode 并再次打开它并再次运行它时,它才开始工作。没有改变代码中的任何东西。我使用的是 yarn start 而不是 npm start,如果这意味着什么?谢谢。
标签: reactjs react-router