如何使用react-route Link刷新页面

时间:2017-01-05 09:37:10

标签: 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>  
);

5 个答案:

答案 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>