我不知道为什么会收到此错误,并且在任何地方都找不到答案。我已经卸载了该react-router-dom软件包并重新安装了它,但它仍然告诉我交换机模块未从react-router-dom导出。这是我的代码。
我收到的错误:
尝试导入错误:“Switch”未从“react-router-dom”导出。
import React from 'react';
import './App.css';
import NavBar from './components/navbar.js';
import Footer from './components/footer.js';
import Home from './components/pages/homepage/home.js';
import { BrowserRouter as Router, Switch, Route, Link } from 'react-router-dom';
function App() {
return (
<Router>
<div className="app-container">
<NavBar />
<Switch>
<Route path="/home" component={Home} />
</Switch>
<Footer />
</div>
</Router>
);
}
export default App;
Run Code Online (Sandbox Code Playgroud) 我在使用react路由器时遇到了一些麻烦(我正在使用版本^ 4.0.0).
这是我的index.js
import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';
import './index.css';
import { Router, Route, Link, browserHistory } from 'react-router';
ReactDOM.render(
<Router history={browserHistory} >
<Route path="/" component={App} />
</Router>,
document.getElementById('root')
);
Run Code Online (Sandbox Code Playgroud)
App.js就是一切.我在这里张贴基本的,因为它不是问题(我相信)
import React, { Component } from 'react';
import logo from './logo.svg';
import './App.css';
class App extends Component {
render() {
return (
<div className="App">
<div className="App-header">
<img src={logo} className="App-logo" alt="logo" />
<h2>Welcome to React</h2>
</div>
<p className="App-intro">
To get started, edit <code>src/App.js</code> …Run Code Online (Sandbox Code Playgroud) 我一直在关注Tyler Mcginnis的教程,并对反应路由器,尤其是历史记录表示不满.我最后逐字复制他的代码只是为了看看它是否只有我,但我还是得到了
Warning: React.createElement: type is invalid -- expected a string (for built-
in components) or a class/function (for composite components) but got:
undefined. You likely forgot to export your component from the file it's
defined in.
Warning: Failed prop type: The prop `history` is marked as required in
`Router`, but its value is `undefined`. in Router
Uncaught TypeError: Cannot read property 'location' of undefined
at new Router (index_bundle.js:8347)
at index_bundle.js:19079
at measureLifeCyclePerf (index_bundle.js:18859)
at ReactCompositeComponentWrapper._constructComponentWithoutOwner (index_bundle.js:19078)
at ReactCompositeComponentWrapper._constructComponent (index_bundle.js:19064) …Run Code Online (Sandbox Code Playgroud) 在react-router 4.0.0历史上,挑战似乎已经发生了变化,具体如下index.js
import React from 'react';
import ReactDOM from 'react-dom';
import { Router, Route, hashHistory } from 'react-router';
import App from './components/App';
import './index.css';
ReactDOM.render(
<Router history={hashHistory}>
<Route path="/" component={App} />
</Router>, document.getElementById('root')
);
Run Code Online (Sandbox Code Playgroud)
我明白了:
Warning: Failed prop type: The prop `history` is marked as required in `Router`, but its value is `undefined`.
Run Code Online (Sandbox Code Playgroud)
然后是错误.我浏览了代码,但找不到任何示例或API如何更改.