React Router v5 是 React 生态体系中的一个重要东西,它容许开辟者构建高机能的单页利用(SPA)。经由过程利用 React Router v5,开辟者可能轻松实现页面间的导航,同时保持利用的呼应性跟用户休会。以下是对于 React Router v5 的具体指南,帮助你高效构建单页利用。
React Router 的核心头脑是将 URL 与组件关联。当 URL 婚配某个路由时,React Router 会衬着该路由对应的组件。这种关联是经由过程 Route
组件实现的。
Route
。npm install react-router-dom
假设我们有一个名为 App
的组件,以及两个页面组件 Home
跟 About
。
import React from 'react';
import { BrowserRouter as Router, Route, Switch } from 'react-router-dom';
const Home = () => <h1>Home Page</h1>;
const About = () => <h1>About Page</h1>;
const App = () => (
<Router>
<Switch>
<Route exact path="/" component={Home} />
<Route path="/about" component={About} />
</Switch>
</Router>
);
export default App;
鄙人面的例子中,我们利用了 Switch
跟 Route
组件来设置路由。Switch
组件确保一次只衬着一个 Route
。
import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';
ReactDOM.render(<App />, document.getElementById('root'));
静态路由容许你根据 URL 参数衬着差其余组件。比方:
<Route path="/user/:id" component={User} />
这里,:id
是一个静态参数,它可能婚配任何值。
嵌套路由容许你在父路由中嵌套子路由。比方:
<Route path="/user/:id" component={User}>
<Route path="profile" component={Profile} />
<Route path="settings" component={Settings} />
</Route>
这里,User
组件将衬着一个包含 Profile
跟 Settings
组件的界面。
顺序化导航容许你在代码中导航履新其余路由。比方:
import { useHistory } from 'react-router-dom';
const history = useHistory();
history.push('/about');
React Router v5 供给了 useHistory
跟 useLocation
等钩子,容许你在函数组件中拜访路由器功能。
利用 React.lazy
跟 Suspense
,你可能耽误加载组件,从而进步利用的机能。
const LazyComponent = React.lazy(() => import('./LazyComponent'));
<Suspense fallback={<div>Loading...</div>}>
<LazyComponent />
</Suspense>
经由过程以上指南,你可能深刻懂得 React Router v5 的利用方法,并利用它来构建高效的单页利用。