All Projects → diegohaz → redux-modules

diegohaz / redux-modules

Licence: MIT License
A modular approach to better organize redux stuff (not another library)

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to redux-modules

rc-redux-model
一种较为舒适的数据状态管理书写方式,内部自动生成 action, 只需记住一个 action,可以修改任意的 state 值,方便简洁,释放你的 CV 键~
Stars: ✭ 48 (+128.57%)
Mutual labels:  redux-saga
next-redux-saga-boilerplate
Next/Redux/Saga boilerplate - Example of using Next.js 9 with Redux Saga
Stars: ✭ 13 (-38.1%)
Mutual labels:  redux-saga
timeoff-server
TimeOff is an application that allows companies' employees to set vacations before they begin taking their time off. Implemented in modern tech stack i.e. Node, Express, MongoDB.
Stars: ✭ 33 (+57.14%)
Mutual labels:  redux-saga
isomorphic-react-redux-saga-ssr
Isomorphic, React, Redux, Saga, Server Side rendering, Hot Module Reloading, Ducks, Code Splitting
Stars: ✭ 19 (-9.52%)
Mutual labels:  redux-saga
saga-monitor
Simple, elegant, and configurable redux-saga monitor
Stars: ✭ 37 (+76.19%)
Mutual labels:  redux-saga
BulletJournal
An organizational system that helps you keep track of everything in your busy life
Stars: ✭ 117 (+457.14%)
Mutual labels:  redux-saga
enlite-starter
Enlite Starter - React Dashboard Starter Template with Firebase Auth
Stars: ✭ 28 (+33.33%)
Mutual labels:  redux-saga
redux-saga-rn-alert
Alert.alert()-Support for side effects with redux-saga in react-native-apps
Stars: ✭ 23 (+9.52%)
Mutual labels:  redux-saga
react-easy-ssr
🔥 React Starter Project with Webpack 5, Babel 7, TypeScript, Redux-saga, Styled-components, React-jss, Split code, Server Side Rendering.
Stars: ✭ 31 (+47.62%)
Mutual labels:  redux-saga
auth-with-saga-example
code for https://medium.com/@stepankuzmin/authentication-with-react-router-redux-5-x-and-redux-saga-55da66b54be7
Stars: ✭ 14 (-33.33%)
Mutual labels:  redux-saga
coconat
🍥 StarterKit Builder for rocket-speed App creation on 🚀 React 17 + 📙 Redux 4 + 🚠 Router 5 + 📪 Webpack 5 + 🎳 Babel 7 + 📜 TypeScript 4 + 🚔 Linters 23 + 🔥 HMR 3
Stars: ✭ 95 (+352.38%)
Mutual labels:  redux-saga
admin-template-for-react
🌏 Admin template for React, React Redux, Redux Saga, React Router, i18n and integrated OAuth login
Stars: ✭ 83 (+295.24%)
Mutual labels:  redux-saga
use-saga-reducer
Use redux-saga without redux
Stars: ✭ 72 (+242.86%)
Mutual labels:  redux-saga
redux-saga-in-korean
redux-saga 공식문서의 한국어 번역 프로젝트.
Stars: ✭ 73 (+247.62%)
Mutual labels:  redux-saga
rbac-react-redux-aspnetcore
A starter template for creating JWT token from ASP.NET Core API project and applying that JWT token authentication on React application
Stars: ✭ 54 (+157.14%)
Mutual labels:  redux-saga
molecule
⚛️ –  – ⚛️ Boilerplate for cross platform web/native react apps with electron.
Stars: ✭ 95 (+352.38%)
Mutual labels:  redux-saga
ReactNativeStarterKits
Agiletech React Native Starter Kits
Stars: ✭ 21 (+0%)
Mutual labels:  redux-saga
React-Redux-Saga-Advanced-Starter
Boilerplate for Advanced usage with React, Redux, React-Router-Redux, Redux-Saga, Immutable, Reselect, Recompose, Axios, HMR, Babel v7, Jest, Eslint, and more
Stars: ✭ 66 (+214.29%)
Mutual labels:  redux-saga
react native app start kit
a react-native app template
Stars: ✭ 11 (-47.62%)
Mutual labels:  redux-saga
redux-saga-location
Geo-Location-support for redux-saga
Stars: ✭ 20 (-4.76%)
Mutual labels:  redux-saga

redux-modules

Build Status Coverage Status

This is a modular approach to better organize redux stuff. It was inspired by ducks-modular-redux. However, this handles not only actions and reducers, but also selectors, sagas, middlewares etc.

In short, a redux module is:

  • A feature with action creators, reducer, selectors, sagas, middlewares and any other thing from the redux ecosystem (see examples);
  • Complete, which means that one feature will not be separated into multiple modules;
  • Pluggable, which means that you can always add or remove it to have or not that feature without having to change other redux modules.

Plug

The problem

Let's say you have an existing project with a bunch of redux entities, such as articles, users and comments, with their own reducers and selectors, as well as action creators or sagas to perform CRUD operations (see examples/resource).

Now you want to add normalizr to it. Then you realize that you'll need to do a lot of refactor to proper normalize and denormalize your entities.

The problem gets even worse if after some time your team decides to remove normalizr. You'll need to refactor everything again.

So much work

The solution

A redux module would take care of and encapsulate the normalization feature (see examples/entities).

You'll just need to change your containers to use selectors from the entities module instead of the articles, users and comments ones.

Nice

License

MIT © Diego Haz

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].