💡
原文英文,约600词,阅读约需2分钟。
📝
内容提要
作者介绍了如何通过使用 `queryClient.fetchQuery` 和设置 `staleTime` 来优化权限请求,减少重复调用。权限请求被移至 `queryOptions`,并在路由守卫中使用异步函数检查权限,从而提高访问管理面板时的效率。文章强调了 `fetchQuery` 的优势。
🎯
关键要点
-
使用 queryClient.fetchQuery(...) 优化权限请求,返回数据为 Promise。
-
设置 staleTime 为非零值,以避免每次路由守卫都重新获取数据。
-
将权限请求移至 queryOptions 对象中,提高效率。
-
使用 fetchQuery 函数解决路由守卫中的权限检查问题。
-
路由守卫需要返回异步值,以处理缓存或需要重新获取的权限。
-
使用 fetchQuery 时,如果数据未失效,则返回缓存数据,否则获取最新数据。
-
不能使用 injectQuery(...) 或 injectQueryClient().getQuery(...),因为它们不适合路由守卫。
➡️