Sto sviluppando un'applicazione sperimentale per il lavoro che richiede annullamenti e ripristini completamente persistenti. Ho deciso di utilizzare lo stack tecnologico JS reattivo / riduttivo / immutabile per risolvere questo problema perché ho visto che funzionava bene .
In realtà sono davvero felice della semplicità della soluzione, ma il mio problema con questa decisione è che questa architettura e questo stack tecnologico si discostano da ciò che il team attualmente utilizza, che è un dati angolare / polimerico / di stile a due vie - architettura vincolante.
Quindi, nel tentativo di rimanere di mentalità aperta:
È possibile annullare e ripristinare possibili / fattibili con l'associazione bidirezionale dei dati quando si confrontano il flusso di dati unidirezionale e le strutture di dati completamente persistenti?
Perché o perché no? Come si ottiene un annullamento / ripristino completamente persistente con associazione dati bidirezionale?
Modifica
Dal mio commento qui sotto:
I am concerned with recording any change to the data model so the user can undo those. I have personally found success in doing so using immutable persistent data structures with 'uni-directional data flow' because I know where changes come in and where to save previous models. I can then emit a previous model and have react re-render when an undo action occurs. Now what I want to know is how to implement undos and redos that can track any change and undo it using two-way data binding architecture instead. I'm open to any solution that solves this problem using two-way data binding