Rematch is Redux best practices without the boilerplate. No more action types, action creators, switch statements or thunks.


Redux is an amazing state management tool, supported by a healthy middleware ecosystem and excellent devtools. Rematch builds upon Redux by reducing boilerplate and enforcing best practices. It provides the following features:

  • Less than 2kb of size
  • No configuration needed
  • Reduces Redux boilerplate
  • Built-in side-effects support
  • React Devtools support
  • TypeScript support
  • Supports dynamically adding reducers
  • Supports hot-reloading
  • Allows to create multiple stores
  • Supports React Native
  • Extendable with plugins
  • Many plugins available out of the box:

Redux vs Rematch#

simple setup โ€Žโ€Žโœ”
less boilerplateโ€Žโœ”
configurableโ€Ž โœ”โ€Žโœ”
redux devtoolsโ€Žโœ”โ€Žโœ”
generated action creatorsโ€Žโ€Žโœ”

How to start#

Learn how to integrate easily on Javascript or Typescript (React, Vue...)

Migrate From Redux#

Migrating from Redux to Rematch may only involve minor changes to your state management, and no necessary changes to your view logic. See the migration reference for the details.

Composable Plugins#

Rematch and its internals are all built upon a plugin pipeline. As a result, developers can make complex custom plugins that modify the setup or add data models, often without requiring any changes to Rematch itself. See the plugins developed by the Rematch team or the API for creating plugins.

All plugins#

namestable version
โ€Ž corenpm_tag
โ€Ž loadingnpm_tag
โ€Ž persistnpm_tag
โ€Ž selectnpm_tag
โ€Ž updatednpm_tag
โ€Ž immernpm_tag


โ€Ž typed-statenpm_tag
โ€Ž react-navigationnpm_tag

Contact & Support#

  • Create a GitHub issue for bug reports, feature requests, or questions
  • Add a โญ๏ธ star on GitHub to support the project!


This project is licensed under the MIT license.