问题标签 [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.
typescript - 来自模式的打字稿类型
我有以下自动生成的 GraphQL 模式映射:
我想创建一个正确类型的对象,我可以在我的实现中使用与上面看到的 __args 对象相对应的方法。
这在打字稿中可能吗?在我的主要逻辑中,我尝试了以下方法:
哪个 Vetur 似乎确实“理解”了我们使用的类型,因为它给出了提示:
但是当我尝试将值实际分配给这种类型时,会出现以下错误:
我希望我只是在这里缺少关于 Typescript 的一些非常基本的东西。
编辑:
因此,更多地查看自动生成的 GraphQL 模式,我发现我想在外部使用的实际数据类型更有可能是候选者:
知道在调用程序中将“args”对象作为可用类型导入需要什么魔法吗?目标是导入一些东西,以便在我的调用程序中有一个可用的对象,比如手动声明的:
asynchronous - 等到第一个钩子完成后再获取数据
我有这个query.me
从 graphql 获取数据的自定义钩子。该console.log
语句显示此挂钩在页面加载时运行了多次,但其中只有 1 次console.logs()
包含实际数据。
然后我有另一个钩子,它应该使用上面钩子中的 id 从服务器获取更多数据。
我面临的问题是第二个钩子似乎在me
仍未定义时调用了第一个钩子,因此出错了。如何配置它,以便仅在me
填充值时访问?
我不擅长异步的东西......
typescript - 开玩笑的模拟不会等待承诺得到解决
我有一个用例,我想从开发中的模拟开发服务器中获得相同的数据,也在测试中。
为此,我使用了 graphql-mesh 及其getMeshSDK
方法。这将返回一个解析为查询列表的承诺。解析它们中的每一个都会返回数据。
然后我想使用这些数据来填充 graphql-client - GQless。
GQless 在组件中的使用方式如下:
但是,无论我采用什么方法,都会jest.mock
在 promise 解决之前执行模拟,从而query
导致undefined
.