javascript Sanity.io 类型错误:未定义不是函数React Native Expo

s3fp2yjn  于 2023-03-06  发布在  Java
关注(0)|答案(1)|浏览(95)

我尝试使用www.example.com创建客户端sanity.io,但一直收到错误- TypeError:undefined不是一个函数。我正在关注这个YouTube视频(https://www.youtube.com/watch?v=AkEnidfZnCU&ab_channel=SonnySangha),我在1:39:00。我有我的sanity.js文件

import { createClient } from "@sanity/client";

export const client = createClient({
    projectId: 'myprojectID',
    dataset: 'production',
    apiVersion: '2023-03-05',
    useCdn: true,
    token: process.env.TOKEN,
})

export default client;

当我尝试在Homescreen.js中创建一个查询时,我总是发现createClient不是一个函数,我尝试重新安装sanity/client依赖项。

import { createClient } from "../sanity";

const HomeScreen = () => {
  const navigation = useNavigation();
  const [featuredCategories, setFeaturedCategories] = useState([]);

  useEffect(() => {
    client
      .fetch(
        `
        *[_type == "featured"] {
          ...,
        restaurants[]->{
          ...,
          dishes[]->
        }
        }
      `
      )
      .then((data) => {
        setFeaturedCategories(data);
      });
  }, []);

我知道这与我如何导入createClient有关,因为当我注解掉它和查询请求时,我没有得到任何错误。

x8diyxa7

x8diyxa71#

1.不能在../sanity中仅导出client
1.您将客户端导出为默认导出和命名导出(应该不是问题,但不必要)
修改导入自:

import { createClient } from "../sanity";

收件人:

import { client } from "../sanity";

相关问题