Ecosystem
Redux is a tiny library, but its contracts and APIs are carefully chosen to spawn an ecosystem of tools and extensions, and the community has created a wide variety of helpful addons, libraries, and tools. You don't need to use any of these addons to use Redux, but they can help make it easier to implement features and solve problems in your application.
For inspiration or examples, the JS ecosystem is quite rich and can be explored here.
First-party modules
The core redux-kotlin library is intentionally minimal. Optional
companion modules build on its contracts; add only the ones you need.
All share the core's group id org.reduxkotlin and version.
| Module | Purpose |
|---|---|
redux-kotlin | The core store, reducer, and middleware contracts. |
redux-kotlin-threadsafe | createThreadSafeStore — a store wrapper that serialises access so any thread can dispatch, read, and subscribe safely. |
redux-kotlin-granular | Granular Subscriptions — subscribe to a single field or selector with an (old, new) callback that fires only when that value changes. |
redux-kotlin-registry | Store Registry — manage many stores keyed by a unique identifier, with thread-safe getOrCreate and manual lifecycle. |
redux-kotlin-multimodel | ModelState — a type-safe bag of independent feature models keyed by class, plus combineModelReducers to drive them from one store. |
redux-kotlin-multimodel-granular | Granular subscriptions for ModelState — subscribeTo(Model::field) / subscribeToModel(...). |
redux-kotlin-compose | Compose integration — bind store fields to Compose State<T> with fieldState / selectorState. |
redux-kotlin-compose-multimodel | Compose fieldState(Model::field) bindings for ModelState stores. |
Community
Presenter-middleware
A middleware for writing concise UI binding code and no-fuss lifecycle/subscription management.