问题标签 [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.
node.js - 如何从 nodejs-api-starter 获取到 react-starter-kit
我第一次尝试 React-Starter-Kit 并且喜欢所有内置的尖端功能(特别是 apollo/graphql-client)。对我来说,任何应用程序的一个关键部分是数据库,为此我的理解是同一作者提供了 nodejs-api-starter,它设置了一个 REST 接口,用于在 localhost:5000 访问 Postgres,并在 localhost:5000/ 有一个 graphql webui图l。
到目前为止,这大约是我能够理解的设置。我稍微更改了前端代码,因此主页上加载了一个新的组件“计数器”。我需要能够创建一个新计数器,获取最新的计数器,并递增递减计数器。现在编写该组件仅输出在 5000 处从服务器检索到的“值”。
我认为我没有正确访问 5000 服务器,我是否将端口放在此url 行中?
您可以从以下位置拉下 repo:https ://github.com/Falieson/react-starter-kit-crud-counter-demo
这是我第一次设置 nodejs api 服务器,我习惯使用 MeteorJS,它内置了 MongoDB 的 pub/sub。我期待 RSK 策略(这似乎更符合行业标准?)提供的分离。
reactjs - Apollo GraphQL 查询返回后如何更新 Redux 存储
我正在使用graphql
react apollo 提供的 HOC 获取数据列表。例如:
我在受控单选按钮组中显示列表,默认情况下我需要选择其中一项。所选项目的id
保存在 Redux 存储中。
selectedItem
那么,问题是在查询成功返回后如何更新 Redux 存储(即设置)?
我想到的一些选择:
选项1
APOLLO_QUERY_RESULT
我应该在我的 Redux reducer 中监听操作吗?但这有点尴尬,因为这样我就需要听两者APOLLO_QUERY_RESULT
,APOLLO_QUERY_RESULT_CLIENT
如果查询之前已经运行过。而且operationName
道具只出现在APOLLO_QUERY_RESULT
动作中而不是APOLLO_QUERY_RESULT_CLIENT
动作中。所以我需要剖析每一个APOLLO_QUERY_RESULT_CLIENT
动作,才能知道它是从哪里来的。难道没有一种简单直接的方法来识别查询结果操作吗?
选项 2
我是否应该分派一个单独的动作SELECT_LIST_ITEM
,componentWillReceiveProps
例如(使用recompose):
选项 3
我是否应该通过注入 Apollo 客户端直接使用它,withApollo
然后使用client.query(...).then(result => { /* some logic */ selectItem(...)})
. 但是我会失去 react-apollo 集成的所有好处,所以不是一个真正的选择。
选项 4
查询返回后我是否应该完全不更新 Redux 存储?因为我也可以只实现一个选择器,selectedItem
如果它已设置,则返回它,如果没有,它会尝试通过浏览apollo
商店的一部分来派生它。
我的选择都不能让我满意。那么,我该怎么做呢?
react-apollo - 在 React 应用程序中传递 Apollo Client 的推荐方法是什么?
现在我正在使用 HOC withApollo
,例如:
然后在该组件中:
然后在该组件之外:
^ 但是我发现这变得非常混乱,必须将它从我的组件传递到每个外部函数中。
我不能只使用:
然后:
到处?
apollo - 在 Apollo 中使用 reducer 修改查询结果
我正在使用 Apollo 来查询 graphql 服务器并管理结果。我正在尝试向返回值添加一个字段,并将以下减速器传递给 Apollo graphql 函数”
我已经确认减速器正在返回更新的值,但是在组件中我没有看到更新的值。有没有办法更新来自服务器的响应并将其反映在本地存储中?
javascript - GraphQL - 如何用不同的状态码响应?
我在使用 Graphql 和 Apollo Client 时遇到问题。
使用 REST 时,我总是创建不同的响应,例如 401 代码,但在这里我不知道如何做类似的行为。
当我得到响应时,我希望它转到 catch 函数。我的前端代码示例:
有谁能够帮我?
javascript - 使用带有异步获取变量的 react-apollo 调用 graphql 查询
我有一个react
组件,它显示您附近的兴趣点的地图。
我的 HOC 用于react-apollo
查询这些兴趣点并将数据作为道具提供给纯 UI 组件。
我正在尝试将用户的位置从navigator.geolocation
我的 graphql 查询的变量中获取。但由于导航器 API 是异步的,我似乎无法让它工作。
它看起来像这样:
coordinates
始终null
在我的组件内。
当我记录事情时,似乎计算了位置,但 graphql 查询和组件渲染发生在它之前。
当我们获取用户位置时,不会调用查询并且不会重新渲染组件。
可能吗 ?难道我做错了什么?
reactjs - Apollo mutate 回调中的不变违规设置状态
当我尝试在 catch 子句中使用 this.setState 时,我正在从事件处理程序调用 mutate 函数并收到 Invariant Violation 错误。
reactjs - 未捕获的错误:AllPostsComments.render():必须返回有效的 ReactComponent
因此,我在尝试从 GraphCool 后端获取数据时收到以下错误消息:
来自以下组件:
PhotoGrid.js
最终导入到 app.js 中:
我在这里俯瞰什么?
reactjs - 如何向 Apollo GraphQL 请求添加额外的请求正文值?
我将 Apollo 与 Scaphold.io 服务一起使用,并且为了向该服务写入 blob,我需要能够向请求正文添加其他选项。
完整的 Scaphold 示例可以在这里找到:https ://scaphold.io/docs/#uploading-files
但它做了这样的事情:
它将 blobField 添加到请求正文的位置。
基于此,我需要将 blobFieldName 属性传递给变量,然后将传递给该属性的值与 blob 添加到请求正文中。但是,使用 Apollo 我无法添加到请求正文中。我尝试了以下操作,但是当我签入网络检查器时,请求正文中没有它:
请指教。