SwiftUIReactorKit 1.0.0

SwiftUIReactorKit 1.0.0

rjsdnqkr1 维护。



  • 作者
  • 朴建宇(Ethen)

ReactorKit SwiftUI

Swift CocoaPods Platform

ReactorKit-SwiftUI

ReactorKit-SwiftUI 是 devxoul 的 ReactorKit 的扩展,专为与 SwiftUI 一起使用而设计。

用法

let reactor = MyReactor() // A reactor is the same as in ReactorKit.
let view = MyView(reactor: reactor)

struct MyView: ReactorView {
  var reactor: MyReactor
  
  func body(reactor: MyReactor.ObservableObject) -> some View {
    // this is called when the state updates.
    VStack {
      Button("Hello") {
        reactor.action.onNext(.helloTapped)
      }
      Text(reactor.state.title)
    }
  }
}

用例

ReactorKit-SwiftUI 在以下场景下非常有用

  • 当您想将现有的基于 ReactorKit 的项目转换为 SwiftUI,同时保持所有业务逻辑不变时。
  • 当您正在使用 RxSwift 并且想在项目中应用 SwiftUI 时。
  • 当您想无缝地一起使用 ReactorKit 和 SwiftUI 时。

示例

  • Counter:SwiftUI-ReactorKit 最简单和基本的示例

依赖项

要求

  • Swift 5
  • iOS 13
  • macOS 10.15
  • tvOS 13.0
  • watchOS 6.0

安装

Podfile

pod 'SwiftUIReactorKit'

Package.swift

let package = Package(
  name: "MyPackage",
  dependencies: [
    .package(url: "https://github.com/gunoooo/ReactorKit-SwiftUI.git", .upToNextMajor(from: "0.0.1"))
  ],
  targets: [
    .target(name: "MyTarget", dependencies: ["SwiftUIReactorKit"])
  ]
)

ReactorKit-SwiftUI 不支持 Carthage。

许可协议

ReactorKit-SwiftUI 采用 MIT 许可协议。有关更多信息,请参阅 LICENSE