问题标签 [apollostack]
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.
reactjs - 如何使用 react-apollo graphql 确定突变加载状态
2018 更新: Apollo Client 2.1 添加了一个新的 Mutation 组件,该组件添加了 loading 属性。请参阅下面的@robin-wieruch 的答案和此处的公告https://dev-blog.apollodata.com/introducing-react-apollo-2-1-c837cc23d926继续阅读原始问题,该问题现在仅适用于早期版本的 Apollo。
graphql
使用(v0.5.2)中的高阶组件的当前版本react-apollo
,我没有看到有记录的方式来通知我的 UI 突变正在等待服务器响应。我可以看到包的早期版本会发送一个指示加载的属性。
查询仍然收到加载属性,如此处所述:http: //dev.apollodata.com/react/queries.html#default-result-props
我的应用程序也在使用 redux,所以我认为一种方法是将我的组件连接到 redux 并传递一个函数属性,该属性将使我的 UI 进入加载状态。然后,在将我的 graphql 突变重写为属性时,我可以调用来更新 redux 存储。
大致是这样的:
我很好奇是否有更惯用的方法来通知 UI 突变是“进行中的”。谢谢。
graphql - Apollo/GraphQL 突变在 GraphIQL 中有效,但在客户端代码中无效?
我在http://localhost:8080/graphiql的 GraphIQL 中有这个突变正常工作:
询问
...和查询变量
现在我需要在代码中实现它。
客户代码
查询变量(fromID、toID 和 msgText)按预期进入函数,但 Apollo 抛出错误:
message: "Network error: Unexpected token < in JSON at position 0"
我错过了什么?
apollo - 使用 subscriptions-transport-ws 设置 Apollo 服务器?
看来我的服务器是根据http://dev.apollodata.com/tools/apollo-server/setup.html上的 Apollo 文档设置的。在我的 server/main.js 文件中:
它在终端日志中打印出“GraphQL Server is now running on http://localhost:8080/graphql ”,表明服务器已成功初始化。
但是在我的 main_layout 组件的顶部,当我运行此代码时:
...我收到此控制台消息:
WebSocket 连接到“ws://localhost:8080/”失败:连接在收到握手响应之前关闭
我错过了什么?
reactjs - Apollo GraphQL React - how to query on click?
In the Apollo React docs http://dev.apollodata.com/react/queries.html#basics there are examples of fetching automatically when the component is shown, but I'd like to run a query when a button is clicked. I see an example to "re"fetch a query when a button is clicked, but I don't want it to query initially. I see there is a way to call mutations, but how do you call queries?
reactjs - GitHunt-React:声明`loading`属性?
我已将 GitHunt-React 中的以下代码(以及我能找到的所有其他相关代码)复制到我的应用程序中。此代码来自 CommentsPage.js:
由于某种原因,在我的应用程序中,加载有时设置为 true,有时未定义。当我在 GitHunt-React 中逐步执行此代码时(不是我的应用程序,而是原始示例代码),调用堆栈显示了所有 React 内部函数,所以我无法将其追溯到 GitHunt-React 中声明loading
. 此外,在 GitHunt-React 中对源代码进行文本搜索,似乎没有发现任何设置值loading.
在 GitHunt-React 中,代码的哪一部分负责声明loading
和设置它的值?
graphql - 对象对象的 GraphQL 模式/解析器是什么样的?
数据
架构和解析器会是什么样子?
这是我最好的尝试,但我从未见过这样的例子,所以真的不确定。
图式
解析器
javascript - 使用 Apollo 执行突变后如何更新单独的组件道具
使用 redux,当状态发生变化时,它会更新connect
使用mapStateToProps
. 但是,使用 Apollo 在执行突变时,任何使用相同数据的组件都会收到新的 props。
我理解这是预期的行为,因为 Apollo 不知道数据集是相同的。这是我所得到的一个例子:
该Header
组件渲染出username
,而 Edit 组件更新username
. Header
我想在更改时重新渲染username
。我不确定如何在不轮询查询的情况下执行此操作。
graphql - 是否可以在 GraphQL 查询中使用嵌套/命名空间查询变量?
我想像这样命名/嵌套查询变量:
与变量:
但这不是一个有效的查询。
但是像这样的查询:
与变量:
会工作得很好。
我想这样做的原因是自动将查询选项发送到 ApolloReactgraphql
高阶组件,其中的params
prop 应用于来自 react 路由器的包装组件。这个问题本质上与 react router 无关,除了params
prop 是由 react router 应用到组件之外。
ApolloReact 将尝试使用组件中的 props 来自动构建 variables 对象,并且由于id
嵌套在props
其中无法找到它。
id
另一种方法是通过定义一个options
接收ownProps
和返回变量对象的方法来专门定义查找位置,graphql
但如果可能的话,我想避免它。
reactjs - apollo 中不同类型的 GraphQL 片段
编辑:@helfer 建议这可能是一个错误。Github问题
对于一个新应用程序,我使用 Apollo 为我进行 graphql 管理。我有多种类型,也可以包含其他类型。
为了简化我作为开发人员的生活,我想使用片段来避免重复代码。
我正在尝试将不同类型的片段一起使用。
但查询导致错误,因为主题片段不能用于 BusinessArea 类型。
这是一个错误还是我错过了什么?
定义:
结果查询: