理智错误:必须提供 `dataset` 才能使用 React 执行查询

问题描述 投票:0回答:4

我正在尝试使用 Sanity CMS 创建一个博客;当我尝试从 Sanity 数据库获取数据时,我明白了

“错误:必须提供

dataset
才能执行查询”

我得到了带有项目ID和数据库名称的client.js组件

给我错误的组件如下所示:

import React, { useEffect, useState } from "react";
import { Link } from "react-router-dom";
import sanityClient from "../client.js";
export default function AllPosts() {
  const [allPostsData, setAllPosts] = useState(null);
  useEffect(() => {
    sanityClient
      .fetch(
        `*[_type == "post"]{
        title,
        slug,
        mainImage{
          asset->{
          _id,
          url
        }
      }
    }`
      )
      .then((data) => setAllPosts(data))
      .catch(console.error);
  }, []);

  return (
    <div>
      <h2>Blog Posts</h2>
      <h3>Welcome to my blog posts page!</h3>
      <div>
        {allPostsData &&
          allPostsData.map((post, index) => (
            <Link to={"/" + post.slug.current} key={post.slug.current}>
              <span key={index}>
                <img src={post.mainImage.asset.url} alt="" />
                <span>
                  <h2>{post.title}</h2>
                </span>
              </span>
            </Link>
          ))}
      </div>
    </div>
  );
}
javascript reactjs dataset sanity
4个回答
2
投票

使用相同的教程,遇到相同的错误。在“client.js”下,确保数据库设置为“生产”。


2
投票

对我来说,问题是我拼写了数据集:“dataSet”。 这里没有骆驼案例,伙计们,使用:“数据集:'生产',


1
投票

就我而言,错误出在 Client.js 内的 API 版本属性中 我将其更改为 2022-02-01,它对我来说效果很好。不知道到底是什么原因,但仍然解决了问题。


0
投票

检查您的 client.js 文件。在意识到我拼写了 dateset 而不是 dataset

之前,我遇到了同样的错误
© www.soinside.com 2019 - 2024. All rights reserved.