警告 @sanity/client 的默认导出已被弃用。使用命名导出 `createClient` 代替

Hus*_*ara 4 react-native sanity

我目前正在学习 React-Native。我尝试在我的项目中保持理智。

1

这是我的 sanity.js 页面。我不明白为什么 sanityClient 是删除线。

我还收到此错误“警告@sanity/client 的默认导出已被弃用。请改用命名导出createClient”。我用谷歌搜索但没有修复。

你有什么主意吗?

我使用 Sanity 从 Sanity 调用数据。通常,当我运行程序时,我应该在终端上看到一些来自 Sanity 的数据,但它是一个空数组“[]”。

nar*_*_sd 5

@Huseyin_Kara,对于任何人来说,这个警告都很容易收到,因为它与 Sanity V3 中的界面更改有关。

它尤其会影响那些尚未升级的代码package.json,这样后续@sanity/client版本就不会出现在npm install或 之后npm upgrade。在您可能正在使用的已发布项目中,这很可能是正确的,因为其中许多项目仍然使用 v2 代码。

假设您还从调用客户端返回一个空数组,则可能存在其他问题,例如未识别正确的数据集,在您针对数据集的生产版本时未发布对 Sanity 数据的编辑,或者没有拥有具有正确权限的匹配 API 访问令牌。

我可能建议您在处理该项目时也将 useCdn 设置为 false,以便在 Studio 编辑后立即获得结果。

  • 事实上,您目前可以在学习练习中忽略此警告,因为默认导出仍然存在,至少目前如此。如果您继续使用该代码,您可能会用待办事项标记的注释进行标记,以便稍后更改它。

  • 即使您正在使用 V2 Sanity 项目,更新后的 V3 客户端包也可能会正常工作。我会查看建议,看看您是否可以在不进行此更改的情况下获得结果。但如果你想尝试这个,你可以这样改变你的代码,我怀疑:

...
import { createCliemt } from '@sanity/client'

const client = createClient ({
  ...
})

...

Run Code Online (Sandbox Code Playgroud)

@sanity/client这非常简单,也是警告试图建议您执行的操作,但这取决于您当前注册的版本是否更高。

为了解决这个问题,你可以这样做npm install @sanity/client@latest。我认为即使使用 v2 代码,这也可以工作,但因为有一个问题,我会再次保存此步骤,直到您通过遵循建议让原始客户端版本工作。

理智是一个相当复杂的工具,也是一个非常好的、功能强大的工具。需要一些时间和经验才能获得自信的知识,我相信您会的。那就祝你好运吧……