我正在使用 Expo Navigation(Stack Navigator)和 React Query 构建一个 Expo React Native 应用。在屏幕之间导航时(例如,从主页到测试屏幕再返回),我需要在返回上一个屏幕时重新获取数据。问题是组件在导航时不会重新安装,因此查询功能不会触发/
我正在使用 Expo Navigation(Stack Navigator)和 React Query 构建一个 Expo React Native 应用。在屏幕之间导航时(例如,从主页到测试屏幕再返回),我需要在返回上一个屏幕时重新获取数据。问题是组件在导航时不会重新安装,因此查询功能不会触发/
正如您自己提到的那样,返回导航时屏幕不会重新安装,但会重新聚焦。TanStack query 的官方文档中描述了这一点。提供的解决方案利用了react-navigation 的useFocusEffect钩子。
在您的屏幕中,您需要调用上述钩子并提供
refetch
返回的函数useQuery
。