React Native WARN @sanity/client的默认导出已被弃用,请改用命名的导出'createClient

gzszwxb4  于 2023-03-19  发布在  React
关注(0)|答案(1)|浏览(121)

我目前正在学习React原生。我尝试在我的项目中使用理智。

这是我的sanity.js页面,我不明白sanityClient为什么有删除线。
我还收到这个错误“警告@sanity/client的默认导出已被弃用。请改用命名的导出createClient”。我在谷歌上搜索了一下,但没有修复。
你知道吗?
我使用Sanity从Sanity调用数据。通常当我运行我的程序时,我应该在我的终端上看到一些来自Sanity的数据,但它是一个空数组“[]"。

7gcisfzg

7gcisfzg1#

@Huseyin_Kara,这个警告对任何人来说都是很容易收到的,因为它是与Sanity V3中的界面更改有关的。
而且它可能会咬特别是对于代码没有升级到它的package.json,使更高版本的@sanity/client不会出现在npm installnpm upgrade之后,这很可能是真实的,在一个已发布的项目,你可能正在使用,因为许多仍然使用v2代码。
如果您还从调用客户端返回空数组,则可能存在其他问题,例如未标识正确的数据集,在您将数据集的生产版本作为目标时未发布您对Sanity数据的编辑,或者尚未获得具有正确权限的匹配API访问令牌。
我可能建议您在处理项目时也将useCdn设置为false,以便在Studio编辑后立即获得结果。

  • 事实上,你可以暂时忽略这个警告,或者在学习练习中忽略这个警告,因为默认的导出仍然存在,至少目前是这样。如果你继续使用代码,你可能会用一个 todo 标记的注解来标记它。
  • 即使您正在使用V2 Sanity项目,更新后的V3客户端包也很可能会工作。我会先查看一些建议,看看您是否可以在不进行此更改的情况下获得结果。但如果您想尝试此更改,您可以按以下方式更改代码,我猜想:
...
import { createCliemt } from '@sanity/client'

const client = createClient ({
  ...
})

...

这非常简单,也是警告试图建议您做的,但这取决于是否有比您目前注册的版本更高的@sanity/client版本。
为了解决这个问题,你可以做npm install @sanity/client@latest,我认为即使是v2代码也能工作,但是因为有一个问题,我再一次把这一步保存起来,直到你按照建议让原始的客户端版本工作。
理智是一个相当复杂的工具,也是一个非常好的、有能力的工具。它需要一些时间和经验来获得自信的知识,我相信你会的。那么祝你好运......

相关问题