当我从 "react-router-dom" 调用路由器时,我的页面变为空白。我做错了什么?
My page goes blank when I call Router from "react-router-dom". What did I do wrong?
这是我运行
的App.js文件
import React, { Component } from 'react';
import {
BrowserRouter as Router,
Route,
} from 'react-router-dom';
import HomePage from './pages/HomePage';
import './App.css';
class App extends Component {
render() {
return (
<Router>
<div className="App">
<Route path="/" component={HomePage} exact />
</div>
</Router>
);
}
}
export default App;
我一直收到一个空白文件,但如果我注释掉路由器,它就会显示
在 react-router-dom@6
中,您应该将 Route
组件包装在处理路由路径匹配和渲染的必需 Routes
组件中。 Route
组件 API 也发生了一些变化,现在只有一个 element
属性需要 ReactNode
、a.k.a。 JSX,呈现路由内容。
示例:
import React, { Component } from 'react';
import {
BrowserRouter as Router,
Routes,
Route,
} from 'react-router-dom';
import HomePage from './pages/HomePage';
import './App.css';
class App extends Component {
render() {
return (
<Router>
<div className="App">
<Routes>
<Route path="/" element={<HomePage />} />
</Routes>
</div>
</Router>
);
}
}
有关 RRD v5 和 v6 之间差异的更完整指南,请查看 migration guide。
OFC,如果您想保留现有代码,您可以可以恢复到react-router-dom@5
。
npm uninstall -s react-router-dom
npm install -s react-router-dom@5
这是我运行
的App.js文件import React, { Component } from 'react';
import {
BrowserRouter as Router,
Route,
} from 'react-router-dom';
import HomePage from './pages/HomePage';
import './App.css';
class App extends Component {
render() {
return (
<Router>
<div className="App">
<Route path="/" component={HomePage} exact />
</div>
</Router>
);
}
}
export default App;
我一直收到一个空白文件,但如果我注释掉路由器,它就会显示
在 react-router-dom@6
中,您应该将 Route
组件包装在处理路由路径匹配和渲染的必需 Routes
组件中。 Route
组件 API 也发生了一些变化,现在只有一个 element
属性需要 ReactNode
、a.k.a。 JSX,呈现路由内容。
示例:
import React, { Component } from 'react';
import {
BrowserRouter as Router,
Routes,
Route,
} from 'react-router-dom';
import HomePage from './pages/HomePage';
import './App.css';
class App extends Component {
render() {
return (
<Router>
<div className="App">
<Routes>
<Route path="/" element={<HomePage />} />
</Routes>
</div>
</Router>
);
}
}
有关 RRD v5 和 v6 之间差异的更完整指南,请查看 migration guide。
OFC,如果您想保留现有代码,您可以可以恢复到react-router-dom@5
。
npm uninstall -s react-router-dom
npm install -s react-router-dom@5