React Navigation 7.0
·3 分钟阅读
文档现在已上线 reactnavigation.org,v6 版本文档在此处。
React Navigation 7 旨在通过新的静态 API 改善开发者体验,并带来许多新功能和改进。
亮点
- 静态 API:新的静态 API 是一个可选 API,它简化了导航器的配置,并使 TypeScript 和深度链接更易于使用。
- 预加载屏幕:许多导航器现在支持在导航到屏幕之前预加载屏幕。这有助于通过预加载用户可能接下来导航到的屏幕来提高应用程序的感知性能。
- 布局属性:导航器和屏幕现在支持
layout
属性,以使用额外的 UI 和行为来增强导航器。 - 改进的 Web 集成:内置导航器现在具有更好的 Web 支持,例如为更多元素渲染锚标记。
Link
和useLinkProps
API 也已改进为使用屏幕名称而不是路径。 - 所有带标题的导航器均支持搜索栏:所有带标题的导航器现在都支持标题中的搜索栏。您可以使用
headerSearchBarOptions
选项自定义搜索栏。 - 新的
useLogger
开发工具以取代 flipper 插件:use logger
钩子可以在控制台中显示导航操作和状态以进行调试。 - 底部标签页导航器中的侧边栏支持:底部标签页导航器现在支持通过将
tabBarPosition
选项指定为'left'
或'right'
在侧面显示标签页。 - 底部标签页导航器中的动画支持:底部标签页导航器现在支持在选项卡之间切换时的动画。您可以使用
animation
选项自定义动画。 react-native-drawer-layout
包:@react-navigation/drawer
中使用的抽屉实现现在作为一个名为react-native-drawer-layout
的独立包提供。- 许多其他改进和错误修复。
请参阅我们的候选版本博文,以获取更详细的亮点列表。
要查看完整的更改列表,请查看升级指南。
升级
除了新功能和改进之外,React Navigation 7 还包含许多重大更改。我们整理了一份详细的升级指南,以帮助您将应用程序迁移到最新版本。
特别感谢
我要向所有为此次发布做出贡献的贡献者表示衷心的感谢。你们的贡献使 React Navigation 变得伟大。
我要特别感谢 Michał Osadnik,感谢他为此次发布中的许多功能和改进所做的工作,并提供了非常需要的动力。
非常感谢 Patrycja Kalińska 和 Ania Cichocka 来自 Software Mansion 帮助编写文档。
我还要感谢 React Native Screens 的 Tymoteusz Boba、Maciej Stosio 和 Kacper Kafara。没有 React Native Screens,React Navigation 就不会有今天的成就。
最后但同样重要的是,如果没有 Callstack 投入的专门时间,就不可能维护和改进 React Navigation。
赞助我们
如果 React Navigation 帮助您为客户交付价值,如果您能赞助我们,那将意义重大。赞助将帮助我们更快地朝着构建最佳跨平台导航库的目标前进,并继续为我们在 GitHub 问题中的错误报告提供及时的支持。