DE
devxoul/SectionReactor
A ReactorKit extension for managing table view and collection view sections with RxDataSources
SectionReactor
SectionReactor is a ReactorKit extension for managing table view and collection view sections with RxDataSources.
Getting Started
This is a draft. I have no idea how would I explain this concept ๐คฆโโ๏ธ It would be better to see the ArticleFeed example.
ArticleViewSection.swift
enum ArticleViewSection: SectionModelType {
case article(ArticleSectionReactor)
var items: [ArticleViewSection] {
switch self {
case let .article(sectionReactor):
return sectionReactor.currentState.sectionItems
}
}
}ArticleSectionReactor.swift
import SectionReactor
final class ArticleSectionItem: SectionReactor {
struct State: SectionReactorState {
var sectionItems: [ArticleSectionItem]
}
}ArticleListViewReactor.swift
final class ArticleListViewReactor: Reactor {
struct State {
var articleSectionReactors: [ArticleSectionReactor]
var sections: [ArticleViewSection] {
return self.articleSectionReactors.map(ArticleViewSection.article)
}
}
func transform(state: Observable<State>) -> Observable<State> {
return state.merge(sections: [
{ $0.articleSectionReactors },
])
}
}Dependencies
- ReactorKit >= 0
- RxDataSources >= 2.0
Installation
pod 'SectionReactor'License
SectionReactor is under MIT license. See the LICENSE for more info.
On this page
Languages
Swift93.3%Ruby6.7%
Contributors
MIT License
Created September 9, 2017
Updated August 27, 2025