useHistory传参代码正确性排查及替代方案咨询
问题解答
1. 这段history传参代码的潜在问题
- 刷新丢失数据:history state存储在浏览器内存中,页面刷新后数据会被清空,
objectData会变成undefined - 直接访问无数据:如果用户直接输入
/this/is/page-b的URL,而非从页面A跳转,history.location.state不存在,objectData同样为undefined,即便用了可选链,后续使用时仍可能出错 - 类型断言不严谨:
as Object是宽泛的类型断言,若selectedObject是自定义类型,建议用具体的接口/类型,避免类型安全隐患
2. 其他页面数据传递方案关键词
- URL查询参数
- 全局状态管理(Redux、Zustand、Jotai)
- React Context
- 本地存储(localStorage、sessionStorage)
- 嵌套路由Props传递
- URL哈希参数
内容的提问来源于stack exchange,提问作者Kyle
相关产品推荐
相关产品推荐

