reactjs - 在 react-router 4 中单击导航链接后如何加载页面
问题描述
我开始反应。单击页面链接后,我想完全加载页面。但是现在点击了 Navlink 页面,DOM 被更新的 DOM 替换了。
导航.js
import React, { Component } from 'react';
import { NavLink } from 'react-router-dom';
import { navigationlinks as links } from "../../../data.json";
class Navigation extends Component {
render() {
return (
<div className="header-nav navbar-collapse collapse ">
<ul className=" nav navbar-nav">
{links.to.map((to, i) =>
<li key={links.tab[i]}>
<NavLink to={to}>{links.tab[i]}</NavLink>
</li>
)}
</ul>
</div>
);
}
}
export default Navigation;
应用程序.js
class App extends Component {
render() {
return (
<BrowserRouter>
<div>
<Switch>
<Route path="/" component={Index} exact />
<Route path="/aboutus" component={Aboutus} exact />
<Route path="/services" component={Services} exact />
<Route path="/contact" component={Contact} exact />
<Route path="*" component={PageNotFound} />
</Switch>
</div>
</BrowserRouter>
);
}
}
解决方案
如果你需要一个完整的页面重新加载,你需要使用 classic<a href="/path">
标签而不是<Link>
from react-router
。这将导致整个页面重新加载。
推荐阅读
- javascript - 如何从 Gridview 中的 LinkButton 触发 Onclick 事件驻留在 updatePanel 中?
- excel - 在 Excel 中计算邮政编码
- r - 使用fuzzywuzzyR替换字符串
- spring - 从 spring cloud config 更新一个完整的 JSON 配置文件
- apache - htaccess 从 url 参数重定向到永久链接
- python - 如何更改 django admin css 样式和字体?
- php - 将 Pre 5.7.9 MySQL 数据库移植到版本 8.0
- python - 日期时间列的舍入秒数
- ios - 使用 CharacterSet 验证文本字段
- ios - 三角形的纹理