【问题标题】:Update react ui after graphql mutation in node js节点js中graphql突变后更新react ui
【发布时间】:2019-02-13 04:32:29
【问题描述】:

我知道如果您在客户端使用 graphql 进行突变(反应),您可以使用 refetchQueries 来查询您拥有的(项目)的新更新列表。

但是,如果我要在 node.js 端进行更改,是否可以在更改后更新 ui?

【问题讨论】:

  • 您可能正在寻找grpahQL subscriptions
  • 你是指前端还是后端?
  • 两者,如果客户端想使用服务器上不支持的东西,它将不起作用
  • 我在客户端做的唯一一件事就是通过 http 提交表单,但是逻辑和突变发生在后端,我认为在这种情况下客户端不会知道这些更改何时完成.我试图在后端突变后查询,但前端没有视觉变化
  • 客户端不需要太多精力,只需要订阅 - 订阅打开并 保持 连接(例如 websocket)以更新更改 - 你读过文档吗?搜索任何 graphql 聊天教程

标签: node.js graphql apollo


【解决方案1】:

mutation 函数返回一个Promise,当它解析时提供data

SomeMutation({variables:{...}).then(data => ...)

如果你在 react 中使用Mutation 标签,第二个参数包含数据,当你调用函数时会自动更新。您可以将其作为道具传递给您的组件:

 <Mutation mutation={addServiceMutation}>
    {(addService, { data }) => ( ... )
 </Mutation>

【讨论】:

    猜你喜欢
    • 2019-09-22
    • 2019-03-10
    • 2019-12-05
    • 2020-02-06
    • 2021-04-01
    • 2018-08-02
    • 2020-05-30
    • 2018-10-16
    • 2020-05-30
    相关资源
    最近更新 更多