SkillAgentSearch skills...

SectionReactor

A ReactorKit extension for managing table view and collection view sections with RxDataSources

Install / Use

/learn @devxoul/SectionReactor
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

SectionReactor

Swift CocoaPods Build Status Codecov

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

Installation

pod 'SectionReactor'

License

SectionReactor is under MIT license. See the LICENSE for more info.

Related Skills

View on GitHub
GitHub Stars46
CategoryDevelopment
Updated7mo ago
Forks7

Languages

Swift

Security Score

87/100

Audited on Aug 27, 2025

No findings