问题标签 [react-apollo]

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 回答
1287 浏览

react-native - 带有 redux-persist 的 Apollo

我集成了react-apollo,用于从我的 GraphQL 服务器获取数据到我的 react 本机应用程序中。我使用redux-perist来持久化和补充 redux 存储。

但我不知道如何为我的阿波罗状态补充水分。

有谁知道我该怎么做?

谢谢

0 投票
2 回答
94 浏览

facebook-graph-api - 如何根据其他组件的订阅结果更新组件的查询结果?

我在同一页面上有 2 个反应组件,

  • 组件1查询用户列表
  • 组件2订阅创建新用户的事件

我想不出一种方法来根据组件 2 的订阅结果更新组件 1 的结果。
组件1:

组件2:

0 投票
2 回答
689 浏览

reactjs - Apollo GraphQL - 多个组件共享相同的突变

我正在使用 react-apollo 并创建一个应用程序,该应用程序需要每 X 秒同步一次应用程序的整个本地数据存储。

所以本质上,想象一下<input1 /><input2 />两者都需要定期同步到服务器。

  • GraphQL 应该包装哪个组件以实现同步?
  • 是否可以在 redux 操作中使用 graphql 突变,以便在发送操作时发生突变?
0 投票
1 回答
468 浏览

reactjs - 警告:道具类型失败:“照片”中未指定必需的道具“数据”。检查 `withApollo(Photo)` 的渲染方法

因此,在组件页面加载时会生成上述警告(参见附图)。

组件的 propTypes 在组件声明之后明确指定。

任何人都可以阐明这个问题吗?

我的代码如下:

照片.js

PhotoGrid.js

在此处输入图像描述

0 投票
1 回答
447 浏览

reactjs - GraphQL 查询通过 connect() 传递 mapQueriesToProps 不触发

因此,我尝试将 graphQL 查询的结果设置为 mapQueriesToProps,然后通过 connect() 将结果传递到我的应用程序的主界面/视图,但查询没有触发(由 devTools 确认):

我的代码如下:

应用程序.js

主.js

我的 app.js 将 App.js 导入到其中:

我在看什么?

0 投票
2 回答
1232 浏览

reactjs - 如何将 prop 从 react-router / url 传递到 graphql 查询?

如果我有这样的路线:

我有一个这样的查询

现在,这总是somethingidof拉扯1

如何将 url 参数:id传递给查询id

0 投票
0 回答
142 浏览

graphql - 使用 Apollo 在过滤后的 GraphQL 查询结果之间切换

在我的架构中,我有一个类型 (ContentBlock),其中包含使用中继标准连接(边、节点等)的嵌套实体(变体)数组。我有一个视图,允许用户指定一些过滤条件,然后将其作为参数传递给 ContentBlock 类型,并返回一组过滤的变体(过滤很复杂,必须在服务器上完成)。我也有一个不同查询的视图,它不向 ContentBlock 传递任何参数,因此返回所有嵌套的变体。

当从“显示全部”视图切换到“过滤”视图时,Apollo 会执行过滤后的查询,并且存储会更新,使得每个 ContentBlock 实体的变体列表现在只包含过滤后的结果。但是,如果我现在返回“全部显示”视图,我仍然只有过滤后的结果。

我知道当我点击该视图时,我总是可以.refetch()对“显示全部”查询进行查询,但我想知道是否有人建议我可以更改我的架构、查询或存储,以便我可以同时维护过滤结果与完整结果一起,在视图之间切换时不必返回服务器获取数据。

即使在我写这篇文章的时候,我也在考虑将一个字段添加到包含过滤后的变体 id 列表的架构中——这样我仍然可以返回所有变体,但只显示过滤后的变体?但是,在我的应用程序中还有其他情况,我真的不需要获取所有这些(“显示全部”是一个管理视图,大多数用户只会得到过滤后的集合)。

任何想法或建议将不胜感激!

0 投票
1 回答
267 浏览

reactjs - Apollo Client/GraphQL 实时更新 UI

我有一个表单,我正在尝试创建一种用户体验,当您创建新记录时,它将为其创建一个 id 并实时写入数据库,并在 UI 中反映这些更改。或者您正在编辑一条记录,它已经被赋予了一个 id,所以它知道要更新记录。

我有一个突变可以处理两种情况:

没有传递给突变的 ID,因此它创建了一个新的。

它传递了一个 ID ,因此它更新了该对象。

该组件使用 compose 来包装 2 case 突变,以及对该对象的查询。我尝试附加一个 fetchPolicy: 'cache-and-network',但这不起作用。

预期结果:尝试取回组件操作中生成的 id

实际结果:重新渲染组件时ID显示为null,仅在页面刷新时更新

如何重现该问题:我有一个突变,如果它没有传递以前的 id,它会为一个对象创建一个新的 id。或者,如果它传递了一个 id,那么它将更新该对象。

0 投票
1 回答
121 浏览

reactjs - 在客户端使用不同服务器的 GraphQL 查询

我有一个 Create-React-App 服务器,它将所有 API 请求代理到我的后端 Express-GraphQL 服务器,位于 localhost:3001

每当我在主页组件'/'上发出请求时,它都会将请求发送到“localhost:3000/graphql”,它工作得很好。但是如果我在嵌套子组件上发出请求,它将请求发送到类似的东西

它发回 404,因为它找不到“ http://localhost:3000/topic/graphql

所以我的问题是,我如何告诉 React 仍然向 localhost:3000/graphql 发出嵌套子组件的请求?

0 投票
1 回答
2223 浏览

reactjs - Apollo fetchMore 更新的 props 不重新渲染组件

我有一组来自 graphql 查询的“帖子”,我正在尝试使用apollo docs中描述的 offset + limit 进行分页。当前按下“loadMore”会更新查询,结果fetchMoreResult是正确的。此外,连接newResults时会正确显示。也许我做出了一个不正确的假设,但我理解文档的方式是新结果posts将自动传递给我TestComponent并重新渲染。这是不正确的吗?

编辑(2017 年 4 月 11 日) 我未能解释我的查询GetPosts包含联合类型,这似乎可能是问题,因为如果我删除它们,更新会按预期工作。我已经打开了一个包问题,希望更清楚:https ://github.com/apollographql/react-apollo/issues/602