测试测试 | ✗ |
Lang语言 | SwiftSwift |
许可 | MIT |
发布最新发布 | 2016年11月 |
SwiftSwift版本 | 3.0 |
SPM支持SPM | ✗ |
由 Benjamin Encz,Malcolm Jarvis,Christian Tietze 维护。
ReSwift 的记录存储库。为 ReSwift 应用启用热重载和时间旅行。
ReSwiftRecorder 是 ReSwift 的一个扩展,允许开发者记录和重放动作。ReSwiftRecorder 支持将这些动作序列化到磁盘,允许重放记录的会话,并在您停止的地方重新启动应用程序。
这在开发期间特别有用。如果您在记录时遇到崩溃,现在您有一个包含所有必要操作的记录的 JSON 文件,用于重现崩溃。如果您使用此记录会话重新启动您的应用程序,它将以完全相同的方式每次崩溃 - 这允许您修复根本问题,而无需手动遍历应用程序。
此扩展示望长期目标是实现 Redux Devtools 的一些最重要的功能。
此扩展是有效的 - 您可以记录和重放动作,但它仍处于概念验证状态.
创建您应用程序的商店时,您需要创建一个 RecordingStore
的实例,而不是创建一个 MainStore
的实例。您还需要提供一个用于反序列化动作的 typeMaps
参数
RecordingMainStore(reducer: CombinedReducer([CounterReducer(), NavigationReducer()]),
appState: AppState(), typeMaps:[counterActionTypeMap, ReSwiftRouter.typeMap], recording: "recording.json")
typeMaps
数组是一个映射类型名称(字符串)到动作类型的数组。最后一个参数 recording
,可以是 nil
或存储在应用程序文档目录中的录音路径。如果您将路径设置为特定的录音,则在启动时商店将加载所有动作并重放它们,从而恢复应用程序的状态。
有关如何使用 ReSwiftRecorder 的实际示例,请参阅 计数器应用程序示例。