大家都有一个关于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>
,这导致了自己的问题在大小写错误,但页面没有卡住。