nextJS SWR如何/如果重新渲染页面?



大家都有一个关于nextJS和swr客户端抓取的问题。

这是SWR官方文档中的一段代码:


function Profile () {
const { data, error, isLoading } = useSWR('/api/user/123', fetcher)
if (error) return <div>failed to load</div>
if (isLoading) return <div>loading...</div>
// render data
return <div>hello {data.name}!</div>
}

我的理解是,当组件呈现时,isLoading是真实的。而且没有状态设置器或钩子来触发页面/组件的重新渲染,所以页面总是显示正在加载…

谁能解释一下这是怎么回事?

当API调用完成时,我应该如何触发页面函数的重新渲染?

的问题是通过改变if (isLoading) return <div>loading...</div>if (!data) return <div>loading...</div>,这导致了自己的问题在大小写错误,但页面没有卡住。

最新更新