用sagas/redux撤销/重做(第2部分)
使用Redux和Immutable,刚刚将Sagas合并到API层,但现在正试图通过服务器持久性解决撤消/重做问题 约束条件:用sagas/redux撤销/重做(第2部分),redux,undo,immutable.js,redux-saga,Redux,Undo,Immutable.js,Redux Saga,使用Redux和Immutable,刚刚将Sagas合并到API层,但现在正试图通过服务器持久性解决撤消/重做问题 约束条件: 假设最大撤消/重做堆栈为2 州树很大。拥有活在过去/现在的状态树副本是不可取的 假设:在树中添加1项后,我假设当前树中的100项现在将变成101项,过去变成100项。我知道immutableJS确实有结构共享,但不确定这是否属实 我迄今为止的做法: 三种数据结构:待定、当前、未来 使用Saga中间件,将“事务启动”附加到已调度的操作 将数据缩减器包装在可撤消库(或类似库
是否正常检查?除非两个状态之间的数据差异很大,否则没有理由担心存储许多状态树。他们共享任何未更改的内容,因此占用接近0的内存。这是有道理的。如何处理乐观更新?如果用户在使用服务器解析之前触发“撤消”会怎么样?我想我会在撤销和事务_之间展开一场传奇式的竞赛。如果两个状态之间的数据差异很大,就没有理由担心存储许多状态树。他们共享任何未更改的内容,因此占用接近0的内存。这是有道理的。如何处理乐观更新?如果用户在使用服务器解析之前触发“撤消”会怎么样?我想我已经解决了撤销和事务处理之间的竞争