问题标签 [gqless]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
57 浏览

typescript - 来自模式的打字稿类型

我有以下自动生成的 GraphQL 模式映射:

我想创建一个正确类型的对象,我可以在我的实现中使用与上面看到的 __args 对象相对应的方法。

这在打字稿中可能吗?在我的主要逻辑中,我尝试了以下方法:

哪个 Vetur 似乎确实“理解”了我们使用的类型,因为它给出了提示: 在此处输入图像描述

但是当我尝试将值实际分配给这种类型时,会出现以下错误:

我希望我只是在这里缺少关于 Typescript 的一些非常基本的东西。

编辑:

因此,更多地查看自动生成的 GraphQL 模式,我发现我想在外部使用的实际数据类型更有可能是候选者:

知道在调用程序中将“args”对象作为可用类型导入需要什么魔法吗?目标是导入一些东西,以便在我的调用程序中有一个可用的对象,比如手动声明的:

0 投票
1 回答
65 浏览

asynchronous - 等到第一个钩子完成后再获取数据

我有这个query.me从 graphql 获取数据的自定义钩子。该console.log语句显示此挂钩在页面加载时运行了多次,但其中只有 1 次console.logs()包含实际数据。

然后我有另一个钩子,它应该使用上面钩子中的 id 从服务器获取更多数据。

我面临的问题是第二个钩子似乎在me仍未定义时调用了第一个钩子,因此出错了。如何配置它,以便仅在me填充值时访问?

我不擅长异步的东西......

0 投票
0 回答
19 浏览

typescript - 开玩笑的模拟不会等待承诺得到解决

我有一个用例,我想从开发中的模拟开发服务器中获得相同的数据,也在测试中。

为此,我使用了 graphql-mesh 及其getMeshSDK方法。这将返回一个解析为查询列表的承诺。解析它们中的每一个都会返回数据。

然后我想使用这些数据来填充 graphql-client - GQless。

GQless 在组件中的使用方式如下:

但是,无论我采用什么方法,都会jest.mock在 promise 解决之前执行模拟,从而query导致undefined.