草庐IT

javascript - 具有 React 的 Apollo 客户端 2 无法进行查询

我对带有React的Apollo客户端版本2有疑问。(https://www.apollographql.com/docs/react/)当我根据文档设置Apollo客户端时,我无法在GraphQl服务器上进行查询,它会引发错误:Uncaught(inpromise)TypeError:_super.callisnotafunctionatnewObservableQuery(ObservableQuery.js:36)atQueryManager.watchQuery(QueryManager.js:393)atQueryManager.js:420atnewPromise()atQ

javascript - 在 Apollo Client 中取消订阅

在我的组件中,我有这段代码:componentDidMount(){//Setupsubscriptionlistenerconst{client,match:{params:{groupId}}}=this.propsclient.subscribe({query:HOMEWORK_IN_GROUP_SUBSCRIPTION,variables:{groupId},}).subscribe({next({data}){constcacheData=client.cache.readQuery({query:GET_GROUP_QUERY,variables:{groupId},})c

javascript - 使用 Apollo 重新获取部分 GraphQL 查询的最佳实践?

我有以下react-apollo-wrappedGraphQL查询:user(id:1){namefriends{idname}}按照语义表示,它获取ID为1的用户,返回其name,并返回其所有用户的id和namefriend。然后我将其呈现在如下组件结构中:graphql(ParentComponent)->UserInfo->ListOfFriends(withthelistoffriendspassedin)这一切都对我有用。但是,我希望能够重新获取当前用户的好友列表。我可以在父组件上执行this.props.data.refetch()并且更新将被传播;但是,鉴于我的Graph

go - Go-Stomp读取超时如何解决

尝试使用Go-Stomp订阅ActiveMQ(Apollo),但出现读取超时错误。我的应用程序应该每天24小时运行以处理传入的消息。问题:有没有办法在队列中没有更多消息的情况下保持订阅?尝试放置ConnOpt.HeartBeat似乎也不起作用为什么读超时后,我好像又接受了一条消息?以下是我的步骤:我将1000条消息放入输入队列进行测试运行一个订阅者,下面提供代码订阅者在2-3秒后阅读完1000条消息,看到错误“2016/10/0717:12:44订阅1:/queue/hflc-in:错误消息:读取超时”。再添加1000条消息,但似乎订阅已经关闭,因此没有消息未被处理我的代码:var(s

javascript - React、Apollo 2、GraphQL、身份验证。如何在登录后重新渲染组件

我有这个代码:https://codesandbox.io/s/507w9qxrrl我不明白:1)如何在以下之后重新渲染()Menu组件:this.props.client.query({query:CURRENT_USER_QUERY,fetchPolicy:"network-only"});如果我login()我希望我的Menu组件重新渲染()本身。但是什么也没有。只有当我点击Home链接时,它才会重新渲染()本身。我怀疑是因为我正在使用它来渲染它:在react-routerprops中拥抱它。有错吗?另外,如果在login()之后检查Menu的this.props,我会永远看到l

javascript - Apollo-client (react) - 创建突变的更新 - "Can' t 在对象 (ROOT_QUERY) 上找到字段 Fund({})"

使用:“react-apollo”:“^1.4.3”在父组件中,我使用GraphQL查询父节点“Fund”和子节点“fundQuarterlyMetric”。这将返回以下格式的数据:{idname...fundQuarterlyMetrics(orderBy:asAtDate_ASC){idyearquarter...}}当我尝试创建一个新的fundQuarterlyMetrics时,我必须使用更新功能(ApolloClientdocs)更新react-apollo上的本地存储。它给我一个错误:Can'tfindfieldFund({})onobject(ROOT_QUERY){"Fu

Apollo单个模块编译及单元测试

目录1.bazel编译介绍2.单个模块编译 3.单元测试+测试用例(单个文件编译)4.gdb调试5.google

javascript - GraphQL - 如何响应不同的状态码?

我在使用Graphql和ApolloClient时遇到了问题。我在使用REST时总是创建不同的响应,例如401代码,但在这里我不知道如何做类似的行为。当我得到响应时,我希望它转到catch函数。我的前端代码示例:client.query({query:gql`queryTodoApp{todos{idtextcompleted}}`,}).then(data=>console.log(data)).catch(error=>console.error(error));谁能帮帮我? 最佳答案 在GraphQL中(至少在graphql-

javascript - 如果我在 Apollo Client 中使用 dataIdFromObject 设置了唯一标识符,是否需要 graphql 的 ID 类型

我正在使用graphql+mysql+react-apollo,这是User表的一种gr​​aphql类型:typeUser{id:ID!name:String!}我在graphql中对ID标量类型的问题是,当主键在mysql中为int时,它作为字符串返回,并且它有使用typescript在前端创建了一些类型冲突。鉴于我已经为ApolloClient中的每个对象设置了带有dataIdFromObject的唯一标识符,我是否可以根本不使用ID标量类型:import{InMemoryCache}from'apollo-cache-inmemory';constapolloMemoryCac

javascript - 将自定义 header 添加到 apollo 客户端轮询请求

我正在使用apollo-client库从我的Graphql服务器查询数据。通过apollo轮询功能,每5秒向服务器发送一些查询。是否有一种通用方法可以将自定义header添加到我的轮询客户端发送的所有请求中? 最佳答案 两种解决方案有两种方法可以做到这一点。一种是快速简便,适用于有一定限制的特定查询,另一种是通用解决方案,更安全,适用于多个查询。快速简便的解决方案优势很快而且……简单当您配置查询时,您可以使用其options字段对其进行配置,该字段有一个context字段。context的值将由网络链处理。context本身不会发送