测试已测试 | ✓ |
Lang语言 | SwiftSwift |
许可证 | MIT |
发布最后发布 | 2015年12月 |
SPM支持 SPM | ✗ |
由 Karl Bowden 维护。
依赖 | |
ReduxKit | ~> 0.1 |
RxSwift | ~> 2.0.0-beta |
RxSwift 绑定 ReduxKit。
import ReduxKitRxSwift
let store = createStore(reducer)
import RxSwift
import Redux
import ReduxKitRxSwift
// Setup State, Actions and Reducers
struct State {
let count: Int
}
struct IncrementAction: SimpleStandardAction {
let meta: Any? = nil
let error: Bool = false
let rawPayload: Any? = nil
}
func reducer(previousState: State? = nil, action: Action) -> State {
let state = previousState ?? State(count: 0)
switch action {
case let action as IncrementAction:
return State(count: state.count + 1)
default:
return state
}
}
// Create the Store
let store: Store<State> = ReduxKitRxSwift.createStore(reducer)
let disposable = store.subscribe { print("Count: \($0.count)") }
// -> Count: 0
store.dispatch(IncrementAction())
// -> Count: 1
disposable.dispose()
store.dispatch(IncrementAction())
// ->
func createStore<State>(reducer: Reducer, state: State? = nil)
-> Store<State>
使用 createStateStream
和一个 RxSwift.Variable
流来创建一个 ReduxKit.Store
。
public func createStream<State>(state: State)
-> StateStream<State>
接受一个 State
并返回一个 ReduxKit.StateStream
,使用 RxSwift.Variable
作为流提供者。
func createDisposable(disposable: RxSwift.Disposable)
-> ReduxDisposable
接受一个 RxSwift.Disposable
并返回它包装为 ReduxDisposable
的结果。
返回的 disposable
只支持 disposable.dispose()
函数,并不返回已丢弃的状态(disposable.disposed
总是返回 false
)。