All Projects → rematch → rematch

rematch / rematch

Licence: MIT license
The Redux Framework

Programming Languages

typescript
32286 projects
CSS
56736 projects
javascript
184084 projects - #8 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to rematch

react-immer
No nonsense state management with Immer and React hooks
Stars: ✭ 13 (-99.84%)
Mutual labels:  state-management, immer
quick-redux
helper functions to make redux and react development quicker
Stars: ✭ 61 (-99.27%)
Mutual labels:  state-management, immer
Easy Peasy
Vegetarian friendly state for React
Stars: ✭ 4,525 (-45.74%)
Mutual labels:  state-management, immer
nstate
A simple but powerful react state management library with low mind burden
Stars: ✭ 11 (-99.87%)
Mutual labels:  state-management, immer
east-store
east-store is a state manager with easiest api that based hooks and immer.
Stars: ✭ 18 (-99.78%)
Mutual labels:  state-management, immer
react-evoke
Straightforward action-driven state management for straightforward apps built with Suspense
Stars: ✭ 15 (-99.82%)
Mutual labels:  state-management, immer
Reactive State
Redux-clone build with strict typing and RxJS down to its core. Wrist-friendly, no boilerplate or endless switch statements
Stars: ✭ 135 (-98.38%)
Mutual labels:  state-management, react-redux
react-context
(つ°ヮ°)つ Understanding React Context
Stars: ✭ 11 (-99.87%)
Mutual labels:  state-management
stater
collection of Clojure/Script mount apps
Stars: ✭ 29 (-99.65%)
Mutual labels:  state-management
react-globally
Gives you setGlobalState, so you can set state globally
Stars: ✭ 22 (-99.74%)
Mutual labels:  state-management
spring-boot-react-ecommerce-app
eCommerce application based on the microservices architecture built using Spring Boot and ReactJS.
Stars: ✭ 221 (-97.35%)
Mutual labels:  react-redux
random-users-details
Random Users details in flutter from randomusers api
Stars: ✭ 14 (-99.83%)
Mutual labels:  state-management
immer-adapter
🐹 Declarative state mutations
Stars: ✭ 47 (-99.44%)
Mutual labels:  immer
enform
Handle React forms with joy 🍿
Stars: ✭ 38 (-99.54%)
Mutual labels:  state-management
awesome-web-react
🚀 Awesome Web Based React 🚀 Develop online with React!
Stars: ✭ 31 (-99.63%)
Mutual labels:  react-redux
mount-up
watching mount's ups and downs
Stars: ✭ 26 (-99.69%)
Mutual labels:  state-management
react-state
React-State - Superpowers for managing local and reusable state in React
Stars: ✭ 14 (-99.83%)
Mutual labels:  state-management
vuse-rx
Vue 3 + rxjs = ❤
Stars: ✭ 52 (-99.38%)
Mutual labels:  state-management
react-native-boilerplate
A collection of curated and well maintained React Native boilerplates with various possibilities and combinations.
Stars: ✭ 24 (-99.71%)
Mutual labels:  react-redux
flutter-provider-architecture
⚖️ A Flutter Architecture for small/medium/large/big large scale using Provider as State Management with Get It!
Stars: ✭ 81 (-99.03%)
Mutual labels:  state-management

Rematchjs

Rematch is Redux best practices without the boilerplate. No more action types, action creators, switch statements or thunks in less than 1.4 kilobytes.


Chat on Discord Rematch CI Bundle size File size lerna https://img.shields.io/lgtm/grade/javascript/github/rematch/rematch?logo=typescript Gitpod Ready-to-Code

Documentation · Quickstart · Examples · Contribute · Licence

Features

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:

  • 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:

Are you ready to use Rematch?

In a few lines you can get easily asynchronous calls to an external API and data stored globally. It's amazing, with Redux you will needs tons of boilerplate, libraries and extra configuration.

type PlayersState = {
    players: PlayerModel[]
}

export const players = createModel<RootModel>()({
    state: {
        players: [],
    } as PlayersState,
    reducers: {
        SET_PLAYERS: (state: PlayersState, players: PlayerModel[]) => {
            return {
                ...state,
                players,
            }
        },
    },
    effects: (dispatch) => {
        const { players } = dispatch
        return {
            async getPlayers(): Promise<any> {
                let response = await fetch('https://www.balldontlie.io/api/v1/players')
                let { data }: { data: PlayerModel[] } = await response.json()
                players.SET_PLAYERS(data)
            },
        }
    },
})

Check it out, right now!

Redux vs Rematch

Redux Rematch
simple setup ‎
less boilerplate
readability
configurable
redux devtools
generated action creators
async thunks ‎async/await

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.

Contact & Support

Contributors

Thank you to all the people who have already contributed to rematch!

Made with contributors-img.

Licence

This project is licensed under the MIT license.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].