Ann*_*nna 36 javascript reactjs react-router
我正在尝试使用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>
);
Run Code Online (Sandbox Code Playgroud)
Luk*_*kas 82
要刷新页面,您不需要react-router,简单的js:
window.location.reload();
Run Code Online (Sandbox Code Playgroud)
要在React组件中重新渲染视图,您可以使用props/state触发更新.
Jyo*_*aja 12
试试这样吧.
你必须给一个函数作为值 onClick()
你按钮:
<button type="button" onClick={ refreshPage }> <span>Reload</span> </button>
Run Code Online (Sandbox Code Playgroud)
refreshPage函数:
function refreshPage(){
window.location.reload();
}
Run Code Online (Sandbox Code Playgroud)
我最终保留了 Link 并将重新加载添加到 Link 的 onClick 事件中,超时如下:
function refreshPage() {
setTimeout(()=>{
window.location.reload(false);
}, 500);
console.log('page to reload')
}
<Link to={{pathname:"/"}} onClick={refreshPage}>Home</Link>
Run Code Online (Sandbox Code Playgroud)
如果没有超时,刷新函数会先运行
你可以用这个
<a onClick={() => {window.location.href="/something"}}>Something</a>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
93621 次 |
最近记录: |