问题是,当我构建时,我只得到Loading
. 它确实在开发中起作用。(我敢肯定是因为热加载)
我将如何为构建构建渲染(异步)数据获取?我不想在componentDidMount()
oruseEffect()
因为据我了解,查询将是客户端。这将导致每个页面加载的 API 请求,对吗?我只想要一个在构建中。
只要还没有数据,我可以暂停构建/渲染吗?
下面是我的简化代码
import React from "react"
import useSWR from "swr"
import client from "../../../../../sanityClient"
import BlockCarousel from "../blockCarousel/blockCarousel"
const BlockCarouselBlog = ({ block }) => {
const skip = 0
const limit = block.itemAmount ? block.itemAmount : 10
const params = { skip, limit: skip + limit - 1 }
let {
data,
error,
} = useSWR(
'*[_type == "blog"] | order(_createdAt asc) [$skip..$limit]',
query => client.fetch(query, params)
)
if (error) console.log(error)
if (!data) return <div>Loading</div>
block.blocks = data
return <BlockCarousel block={block} />
}
export default BlockCarouselBlog