reactjs - 反应路由器。如何完全更改链接中的网址?
问题描述
我在带有 URL: 的页面上,http://localhost:3000/courses/32
我想从这个地方将我的页面重定向Link
到这个 URL: http://localhost:3000/categories
。
解决方案
你可以在这里找到一个小例子https://codesandbox.io/s/optimistic-wood-ug9oc,你需要先设置你的路由器,下面你可以找到应该使用Link
和另一个使用的例子withRouter
:
import {
BrowserRouter as Router,
Switch,
Link,
Route,
withRouter
} from "react-router-dom";
const Category = () => {
return <div>Category</div>;
};
const CategoryWithRouter = withRouter(({ history }) => (
<div
onClick={() => {
history.push("/category");
}}
>
Category withRouter
</div>
));
const Home = () => {
// Link case
// withRouter case as well
return (
<div>
Home
<Link to="/category">Category</Link>
<CategoryWithRouter />
</div>
);
};
export default function App() {
return (
<Router>
<Switch>
<Route exact path={"/"} component={Home} />
<Route exact path={"/category"} component={Category} />
</Switch>
</Router>
);
}
推荐阅读
- node.js - mongoose.findOne 返回 null
- github - 如何找到与 Heroku 应用关联的 github 存储库?
- java - 为 BigDecimal 使用正确的注释
- sql - 按 2 列分组,同时对集合中的缺失行使用默认值
- awk - awk : 有条件的恢复线
- java - 如何用新列表替换 ListView 的列表
- python - 结合 Python Flask Jinja2 和 Mustache
- java - 嵌套 JavaFX 的 TreeView 的有效数量
- php - 如何正确处理 symfony API 请求中的异常
- ibm-cloud - IBM Watson Assistant:如何让聊天机器人使用动态选项列表进行响应