【发布时间】:2022-10-24 11:16:28
【问题描述】:
我刚刚意识到我从后端(Sanity)获取数据的方式比下一个更适合 React 应用程序,所以我正在尝试转换我目前拥有的内容。为了透明度,我试图调用图像数组中的第一个图像(以及 set_name,因此我尝试同时查询整个集合及其字段以及集合中的数组),
这是我最初必须从每组中提取图像的内容:
const [ galleryData, setGalleryData ] = useState(null);
useEffect(() => {
client.fetch(
`*[_type == 'set']{
set_name,
'setSelect' : set_images[0].asset->{_id,url}}`
).then((data) => setGalleryData(data))
.catch(err => console.error(err))
})
这是我尝试过的,但出现服务器错误:
export const getServerSideProps = async () => {
const query = '*[_type == "set"]';
const set = await client.fetch(query)
const imagesQuery = '*[_type == "set"]{set_images.asset->{_id,url}}';
const setImages = await client.fetch(imagesQuery)
return {
props: {set, setImages}
}
【问题讨论】:
-
尝试在 imagesQuery 中更改 ' by `
-
抱歉,我对此完全陌生,这是什么意思?
-
在第 4 行更改 ' 与 ` 就像你在 reactjs fetch 中一样
-
哦,我明白了,这也不起作用,同样的错误:ClientError: Attribute or a string key expected
-
“我收到服务器错误”- 你得到什么服务器错误?
标签: reactjs next.js fetch-api sanity