我有一些突变(由于我无法控制的原因),结果在我的数据层中并不立即明显,因此在执行操作后我无法从图表中读取它。我希望能够向用户显示通知/警报,以表明操作成功,并向他们提供在突变期间生成的一些信息(在本例中,它是由第三个提供的跟踪代码)方 API)。除了这个示例之外,我确信在其他情况下我想向用户显示各种类型的通知(成功、信息、警告、错误)。
突变响应仅在输出字段中包含请求的信息,因此对我来说显而易见的策略是在输出中也返回一个 TransientNotification
类型。但在 GraphQL 模式中这样做感觉很奇怪,因为数据实际上并没有存储在任何地方。
所以我正在寻找解决这个问题的最佳方法的想法。这是一种相当常见的 UI 模式,目前感觉我必须跳过很多困难才能使其正常工作。
最佳答案
一般来说,在包含通知的突变响应中返回字段 (TransientNotification
) 似乎是一种合理的方法。您可以使用mutation query fragments确保触发突变的组件能够获取该字段,然后数据就可以显示在 UI 中。
关于relayjs - 使用 Relay 的瞬时用户通知模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33001632/