我正在尝试使用react-route Link刷新页面。但是我实现它的方式又向后退了一步。(例如,如果URL是../client/home/register,当我按下重新加载时会转到../client/home)
下面是我的代码
const AppErrorPage = () => (
<div>
<div style={ styles.container }>
<h2>Error</h2>
<p> Something went wrong, please reload the page </p>
<div>
<Link to="" refresh="true">
<span>Reload</span>
</Link>
</div>
</div>
</div>
);
答案 0 :(得分:52)
要刷新页面,您不需要react-router,简单的js:
window.location.reload();
要在React组件中重新渲染视图,您只需使用props / state启动更新。
答案 1 :(得分:9)
试试这样。
您必须将函数作为值onClick()
你按钮:
<button type="button" onClick={ refreshPage }> <span>Reload</span> </button>
refreshPage函数:
function refreshPage(){
window.location.reload();
}
答案 2 :(得分:4)
我最终保留了 Link 并将重新加载添加到 Link 的 onClick 事件,超时如下:
function refreshPage() {
setTimeout(()=>{
window.location.reload(false);
}, 500);
console.log('page to reload')
}
<Link to={{pathname:"/"}} onClick={refreshPage}>Home</Link>
没有超时,刷新功能将首先运行
答案 3 :(得分:2)
您可以使用此
<a onClick={() => {window.location.href="/something"}}>Something</a>
答案 4 :(得分:0)
如果您只是在 href 中添加“/”,它将重新加载当前窗口。
<a href="/">
Reload the page
</a>