React Router 是 React 应用中用于实现页面导航和组件渲染的库。它允许你在不同的 URL 路径下渲染不同的组件,从而实现单页应用(SPA)的页面切换效果。
React Router 主要有以下几种类型:
React Router 适用于需要实现单页应用的场景,如:
如果你在使用 React Router 时发现渲染了两个子组件而不是一个,可能是以下原因导致的:
假设你的路由配置如下:
import { BrowserRouter as Router, Route, Switch } from 'react-router-dom';
import Home from './Home';
import About from './About';
function App() {
return (
<Router>
<Switch>
<Route path="/" exact component={Home} />
<Route path="/about" component={About} />
</Switch>
</Router>
);
}
如果你发现 /
和 /about
路径下都渲染了 Home
组件,可能是以下原因:
/about
不应该包含 /
。Home
组件内部是否有条件渲染逻辑,确保不会在不应该渲染的情况下渲染。假设你有一个 Home
组件和一个 About
组件,并且你希望在 /
路径下只渲染 Home
组件,在 /about
路径下只渲染 About
组件。
import { BrowserRouter as Router, Route, Switch } from 'react-router-dom';
import Home from './Home';
import About from './About';
function App() {
return (
<Router>
<Switch>
<Route path="/" exact component={Home} />
<Route path="/about" component={About} />
</Switch>
</Router>
);
}
确保 Home
和 About
组件内部没有条件渲染逻辑影响路由渲染。
如果你遇到具体问题,可以提供更多代码细节,以便进一步诊断问题。
领取专属 10元无门槛券
手把手带您无忧上云