使用Relay-GraphQL突变进行undo-redo状态遍历的​​模式

时间:2015-11-04 02:48:29

标签: immutable.js graphql relayjs

使用Immutable和Flux实现获取撤消/重做功能基本上是微不足道的。这部分是由于Immutable使得价值传递成为可能,部分原因在于使用Flux的浏览器/内存中的性质。

然而,根据Relay-GraphQL突变对此进行概念化并不明显。是否有任何已知的模式可以简化这一过程?

1 个答案:

答案 0 :(得分:4)

接力不能(还)做本地状态。因此,您目前的选择是a)存储"草稿" Flux商店中的更改或b)创建一个草稿类型,您不断通过突变创建新版本。您可以在客户端中跟踪新的草稿ID,并且"撤消"通过恢复活动草案ID。