2017-08-08 45 views
0

Redux樹幾乎是一系列動作和從這些動作派生的狀態。
事情是這樣的:將redux動作拼接到歷史記錄

{ type: "INIT", number: 2 } 
{ type: "ADD", addend: 4 } 
{ type: "MULTIPLY", factor: 2 } 
{ type: "SUBTRACT", subtrahend: 3 } 

store.getState() // returns { number: 9 } 

我與需求擺弄該項目,以允許拼接一個新的行動轉化爲對數的中間。例如,在MULTIPLY之後和SUBTRACT之前添加「DIVIDE by four」。該行動需要插入歷史記錄,然後重播任何後續行動。

這個「計算器」的例子是絕對是簡化,但希望你明白了。

這是Redux的有效用例嗎?有沒有設計這種類型的行動流的圖書館或常用技術?

回答

1

看見你昨天問Reddit上這個問題,I already answered it there,但我會在這裏有答案的完整性:

是的,有一些現有的終極版插件庫與撤銷/重做型能力的工作。請參閱我的Redux addons catalogUse Cases#Undo/Redo部分。

雖然我沒有用任何他們自己,我懷疑一個可能是最相關的你的使用情況是一個lib,微軟推出了名爲redux-dag-history。不幸的是,這個庫似乎沒有特別好的記錄,但是作者寫了a blog post discussing the concepts behind the library

你也可以檢查出內部實現Redux DevTools store enhancer的,基本上做這種工作,但實際上只是用於開發使用。您可以重新使用它,或者修改它以更好地適合您的使用情況。

+1

哈哈哈,我想知道,如果從reddit的人跟着這裏也是如此。 :-)我正在找過你鏈接的是終極版-DAG歷史庫;謝謝!我只是想我會再次拋出了這個問題,看看是否有其他的想法走了過來。 –