TCAのファイル配置とか

TCAのファイル配置とか

作成日
Mar 16, 2021 4:19 PM

趣味でTCA使ってSwiftUIのアプリを書いてる。

View, State, Action, reducerはこんな感じでネームスペース下に入れている。そんなに膨れるものでもないし、同じファイルで良いかって感じ。

import ComposableArchitecture
import SwiftUI

enum ProfileCore {}

extension ProfileCore {
    struct View: SwiftUI.View {
        let store: Store<State, Action>
        
        var body: some SwiftUI.View {
            WithViewStore(store) { (viewStore) in
							Text(viewStore.profile.name)
            }
        }
    }
    
    struct State: Equatable {
        let profile: Profile
    }
    
    enum Action: Equatable {
    }
    
    static let reducer = Reducer<State, Action, Void> { state, action, _ in
        return .none
    }
}

使うときは

ProfileCore.View.init(store:)

みたいな感じで呼ぶ。

Xcodeのテンプレートも作った