SWR预加载数据后为什么组件还是会闪一下加载状态?
我在用SWR做数据预加载,明明在进入页面前就调用了fetcher,但组件首次渲染时还是会短暂显示loading状态,体验很不好。是我预加载的方式不对吗?
我是在路由跳转前这样预加载的:
import { mutate } from 'swr'
// 跳转前预加载
mutate('/api/user', fetchUser())
// 页面组件里
const { data, isValidating } = useSWR('/api/user', fetchUser)
if (isValidating && !data) return <div>Loading...</div>
按理说mutate已经把数据塞进缓存了,为什么useSWR第一次还是拿不到data,非要等一轮revalidate?
暂无解答