我已经在我的SwiftUI项目中成功地实现了Redux,但在正确处理绑定方面遇到了困难。我想使用SwiftUI的绑定功能,同时将信息存储在Redux State中。
正如你所看到的,这种自相矛盾,因为状态不能双向绑定。这是我当前的代码
@State var tab: Tab = .tab1
TabView(selection: $tab) { ... }理想情况下,如果可能的话,它应该像这样舒适地使用。我也对其他想法持开放态度,这只是我最初想出来的--它远非完美。
@State var store = ReduxStore(...)
TabView(selection: $store.state.tab) { ... }发布于 2020-08-03 18:24:04
我想出了如何处理这样的情况。我的解决方案是绑定,如下所示:
let tabBinding = Binding<Tab> (
get: { self.store.state.currentTab }, // return the value from the state
set: { self.store.dispatch(action: NavigationAction.updateTab(tab: $0)) } // send the action here
)虽然这可能会被美化,但它很有效,非常简单,并且解决了在Redux中使用绑定的问题。
https://stackoverflow.com/questions/63191987
复制相似问题