React Navigation:`getRehydratedState`方法的作用与触发时机
一、方法作用
- 核心功能:从传入的部分导航状态里还原出完整、可直接使用的导航状态。
- 实际场景:比如你把导航状态持久化存储时,可能只保存了关键的路由路径信息,没存嵌套路由的默认状态、未激活路由的参数等,这个方法就负责补全这些缺失内容,生成符合当前路由结构的完整状态对象。
- 参数细节:
- 第一个参数:传入的部分状态对象,一般是从本地存储读取的不完整状态数据。
- 第二个参数:包含
routeNames(当前路由的所有可用路由名称)和routeParamList(路由参数列表)的配置对象,用来作为补全状态的参考依据。
二、调用时机
- 当应用重启、从后台恢复,且存在之前持久化存储的导航状态时,React Navigation会自动调用这个方法,把存储的部分状态传入,生成能直接驱动路由的完整状态。
- 自定义路由初始化阶段,如果存在遗留的部分导航状态,也会触发该方法来完成状态还原。
内容的提问来源于stack exchange,提问作者hayata_suenaga
相关产品推荐
相关产品推荐

