我在我的项目中使用 ReSwift 来获得一个漂亮而干净的 redux 架构。
因为我对整个状态不感兴趣,所以我只为我的视图控制器订阅了两个子状态:
extension ViewController: StoreSubscriber {
override func viewWillAppear(_ animated: Bool) {
store.subscribe(self) {
$0.select {
($0.subStateA, $0.subStateB)
}
}
}
override func viewWillDisappear(_ animated: Bool) {
store.unsubscribe(self)
}
func newState(state: (subStateA: SubStateA, subStateB: SubStateB)) {
print("test")
}
}
怎么了:
每次商店发生任何更新时都会调用我的 newState 方法。
例如,如果我更新subStateC它仍然会触发
func newState(state: (subStateA: SubStateA, subStateB: SubStateB)) {}
谁能解释为什么会这样?
谢谢和问候!