ReSwiftRecorder 0.4.0

ReSwiftRecorder 0.4.0

测试测试
Lang语言 SwiftSwift
许可 MIT
发布最新发布2016年11月
SwiftSwift版本3.0
SPM支持SPM

Benjamin EnczMalcolm JarvisChristian Tietze 维护。



⚠️ 概念验证。需要很多爱! ⚠️

ReSwift 的记录存储库。为 ReSwift 应用启用热重载和时间旅行。

关于 ReSwiftRecorder

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 的实际示例,请参阅 计数器应用程序示例