问答

React 中路由跳转之后无法访问某个 cookie 的问题

作者:admin 2021-04-21 我要评论

// App.jsrender() { return ( Switch Route exact path="/" component={A} / Route path="/index" component={B} / /Switch )}// A.jsximport Cookies from 'un...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)
// App.js
render() {
  return (
    <Switch>
      <Route exact path="/" component={A} />
      <Route path="/index" component={B} />
    </Switch>
  )
}

// A.jsx
import Cookies from 'universal-cookie'

handleClick = () => {
  const cookies = new Cookies()
  cookies.set('a', 'a', { path: '/index' })
  this.props.history.push('/index')
}

render() {
  return <Component onClick={this.handleClick} />
}

// B.jsx
import Cookies from 'universal-cookie'

componentDidMount() {
  const cookies = new Cookies()
  console.log(cookies.get('a')) // undefined
}

简化后的代码就是这样,路由 / 匹配到页面 A,我在页面 A 触发点击事件之后往 cookie 里塞了一个 a,然后跳转到了路由 /index,但是我没办法在页面 BcomponentDidMount 中访问到这个 a。在 Chrome 的 devtool 中的确可以看到这个 cookie a 保存成功了,而且如果我在 /index 做一次刷新,那么在 componentDidMount 中就可以访问到这个 a 了。
问题是怎么样才能在不做刷新的前提下直接访问到这个 a 呢?

###

path 应该以 “/” 结尾,试试

 cookies.set('a', 'a', { path: '/index/' })

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • React 中路由跳转之后无法访问某个 coo

    React 中路由跳转之后无法访问某个 coo

  • 有什么办法可以判断一个坐标是wgs84还

    有什么办法可以判断一个坐标是wgs84还

  • 本人大数据小白,领导安排任务,麻烦请

    本人大数据小白,领导安排任务,麻烦请

  • arduino端口一直有感叹号,怎么办??

    arduino端口一直有感叹号,怎么办??

腾讯云代理商
海外云服务器