httplocalhost8080baomingappId=wx474a7fc58922241f当路由模式为history时跳转页面时appId=wx474a7fc58922241f会消失这种情况怎么处理请详细说明
当路由模式为history时,页面跳转时会使用浏览器的 History API,将当前页面的 URL 添加到浏览器的访问历史记录中,同时更新当前页面的 URL。因此,如果在 URL 中包含了参数,如?appId=wx474a7fc58922241f,当页面跳转后,这些参数可能会丢失。
为了解决这个问题,你可以考虑使用 sessionStorage 或 localStorage 来存储这些参数。这两个 API 都可以在浏览器中存储数据,并且在不同页面之间共享数据。
具体实现方法如下:
- 在页面 A 中,将参数保存到 sessionStorage 或 localStorage 中:
sessionStorage.setItem('appId', 'wx474a7fc58922241f');
- 在页面 B 中,从 sessionStorage 或 localStorage 中读取参数:
const appId = sessionStorage.getItem('appId');
- 如果你需要在页面 B 中使用这个参数,可以将它传递给组件或在页面加载时使用它。
// 传递参数给组件
<MyComponent appId={appId} />
// 在页面加载时使用参数
useEffect(() => {
fetchData(appId);
}, [appId]);
通过这种方式,即使在跳转页面时参数丢失,你也可以从 sessionStorage 或 localStorage 中恢复它们,以便在新页面中使用
原文地址: https://www.cveoy.top/t/topic/hsdj 著作权归作者所有。请勿转载和采集!