Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
This repository was archived by the owner on Aug 2, 2025. It is now read-only.
/rematchPublic archive

The Redux Framework

License

NotificationsYou must be signed in to change notification settings

rematch/rematch

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 DiscordRematch CIBundle sizeFile sizelernahttps://img.shields.io/lgtm/grade/javascript/github/rematch/rematch?logo=typescriptGitpod 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.

typePlayersState={players:PlayerModel[]}exportconstplayers=createModel<RootModel>()({state:{players:[],}asPlayersState,reducers:{SET_PLAYERS:(state:PlayersState,players:PlayerModel[])=>{return{                ...state,                players,}},},effects:(dispatch)=>{const{ players}=dispatchreturn{asyncgetPlayers():Promise<any>{letresponse=awaitfetch('https://www.balldontlie.io/api/v1/players')let{ data}:{data:PlayerModel[]}=awaitresponse.json()players.SET_PLAYERS(data)},}},})

Check it out,right now!

Redux vs Rematch

ReduxRematch
simple setup ‎‎✔
less boilerplate‎✔
readability‎✔
configurable‎ ✔‎✔
redux devtools‎✔‎✔
generated action creators‎✔
asyncthunks‎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 themigration 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 theplugins developed by the Rematch team or theAPI for creating plugins.

Contact & Support

Contributors

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

Made withcontributors-img.

Licence

This project is licensed under theMIT license.

Sponsor this project

 

Packages

No packages published

Contributors96


[8]ページ先頭

©2009-2025 Movatter.jp