You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

react-router v6中state传递的参数刷新页面是否会丢失?

React Router 页面刷新时state参数不丢失的原因
  • 结论:这不是React Router v6的新优化,从支持HTML5 History API的版本开始,使用history模式时,通过state传递的参数刷新页面就不会丢失。
  • 核心原因:React Router的state参数依托HTML5 History API的pushState/replaceState方法实现,这些state数据会被浏览器存在会话级的存储区域(并非内存),只要当前浏览器会话未关闭,刷新页面时浏览器会自动恢复这部分state信息。
  • 为什么会有"刷新丢失"的说法?
    • 若使用hash路由模式:这种模式下的state存在内存中,刷新页面时会被清空,导致参数丢失;
    • 部分旧资料可能混淆了路由模式,或是针对早期版本的特殊场景描述,并不适用于HTML5 history模式的情况。

你的测试代码示例(v6的useNavigate)默认采用HTML5 history模式,所以刷新后state参数能正常保留:

const navigate = useNavigate();

navigate('/path/to/newpage', {
   state: {
             name: 'lucy',
             age: 20
          }
});

内容的提问来源于stack exchange,提问作者zhaolei

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 23:57:36