ReactJS + React Cookie + React Router:为什么window.location.href不能正常工作?

时间:2016-11-30 00:06:13

标签: javascript reactjs cookies ecmascript-6 react-router

我有一个应用程序,我在本地存储中管理cookie。当我保存react-cookie cookie时,我设置了一个到期时间,它将在30分钟后到期。

因此,如果用户闲置超过30分钟,并尝试再次使用该应用程序,它将检查cookie是否已过期,如果确实如此,则会删除cookie,并将用户导航回来到主页(.../#/),如下所示:

  const token = cookie.load('token');

      if(token == undefined) {
        cookie.remove('token', {path: '/'})
        window.location.href = '.../#/';
      } 

目前,闲置超过30分钟后,Cookie过期并被删除,用户通过.../#/导航到window.location.href网址,实际网址会发生变化,然后只显示空白页面和组件(Home)位于.../#/通过React Router路由:

    <Route
      component={Home}
      path='/'
    />

没有出现。怎么样?

当我退出用户时,我会这样说,

        cookie.remove('token', {path: '/'})
        window.location.href = '.../#/';

并导航至Home路线正常并显示。

一定会接受回答并投票。谢谢

1 个答案:

答案 0 :(得分:0)

尝试使用this.props.router.replace('.../#/')代替window.location.href = '.../#/'