【发布时间】:2020-07-04 10:05:17
【问题描述】:
我是 React 新手,我正在尝试创建一个侧边栏,其中包含指向不同页面或模块的链接。我有一切模块化的意义,侧边栏导航是一个单独的模块,我导入所有链接的类,然后使用 react-router-dom 来重定向路径。但不知何故,在重定向时,响应页面是空白的。
导航模块:
import React, { Component } from "react";
import { Route, Switch, Link } from "react-router-dom";
import Colors from "../../pages/Colors";
import Typography from "../../pages/Typography";
import Spaces from "../../pages/Spaces";
import Buttons from "../../pages/Buttons";
import Inputs from "../../pages/Inputs";
import Grid from "../../pages/Grid";
import "./style.css";
class Nav extends Component {
render() {
return (
<div className="nav">
<ul>
<li>
<Link to="/colors">Colors</Link>
</li>
<li>
<Link to="/typography">Typography</Link>
</li>
<li>
<Link to="/spaces">Spaces</Link>
</li>
<li>
<Link to="/buttons">Buttons</Link>
</li>
<li>
<Link to="/inputs">Inputs</Link>
</li>
<li>
<Link to="/grid">Grid</Link>
</li>
</ul>
<Switch>
<Route path="/colors" component={Colors} exact />
<Route path="/typography" component={Typography} exact />
<Route path="/spaces" component={Spaces} exact />
<Route path="/buttons" component={Buttons} exact />
<Route path="/inputs" component={Inputs} exact />
<Route path="/grid" component={Grid} exact />
</Switch>
</div>
);
}
}
export default Nav;
现在我在这里导入的链接类现在只有简单的内容,如下所示。
页面/颜色/index.js:
import React, { Component } from "react";
class Colors extends Component {
render() {
return (
<div>
<h1>Colors</h1>
</div>
);
}
}
export default Colors;
主 BrowserRouter 位于 App.js 组件中,其中 Sidebar 组件被称为具有 Navigation > 组件。
现在的问题是,如果我从 App.js 中删除 BrowserRouter 并将其放入 Navigation 模块中,路由将起作用。 p>
怎么会这样?
哪种模式是正确的?
【问题讨论】:
标签: javascript reactjs react-router-dom