GoProviderRoute 和 ShellProviderRoute 通过在 Flutter 应用中将提供者限定到特定路由,简化了提供者的范围管理。该包通过允许开发者在路由级别管理状态和依赖项,增强了路由功能,确保在导航时提供者能够正确创建和释放。它与 GoRouter 无缝集成,提供了一种清晰的方法来为每个路由隔离状态,或使用壳路由在嵌套路由之间共享状态。非常适合需要对提供者生命周期进行细粒度控制的复杂导航结构的应用。
适合场景
- 按路由的作用域状态管理
- 通过外壳路由实现嵌套路由状态共享
- 简化复杂导航流程中的提供者设置
- 管理路由特定的依赖项
- 减少基于路由的状态处理中的样板代码
主要特点
- 带有 GoProviderRoute 的路由范围提供程序
- Shell 路由对共享状态的支持
- 路由退出时自动释放提供者
- 与 GoRouter 的无缝集成
- 最小配置要求
适合对象
- 具有深层导航层级的应用程序
- 使用 GoRouter 进行路由的开发者
- 需要隔离路由状态的项目
- 寻求更清洁的提供商管理的团队
- 复杂表单或多步骤工作流
使用建议
- 需要 GoRouter 才能实现完整功能
- 仅限在基于 GoRouter 的导航中使用
- 可能增加简单应用的复杂性
- 提供者范围必须仔细规划
- 不适用于全局应用范围的状态,除非使用 shell 路由