react-painless-redux
TypeScript icon, indicating that this package has built-in type declarations

0.0.5 • Public • Published

react-painless-redux

Description

This is painless-redux adapter for React using @reduxjs/toolkit.

Install:

  1. npm i painless-redux react-painless-redux @reduxjs/toolkit
  2.  import { createPainlessRedux } from 'react-painless-redux';
     
    // When you don't have any redux store yet. If you have - adapt it
     const subRootReducer = (state = {}) => state;
     const rootReducer = combineReducers({
         subRoot: subRootReducer,
     });
     const redux = configureStore({
         reducer: rootReducer,
         devTools: true,
     });
     
     const addReducer = (key: string, reducer: Reducer) => {
         const newReducer = combineReducers({ subRoot: subRootReducer, [key]: reducer });
         redux.replaceReducer(newReducer);
     };
    
     const {
         StoreContext,
         useStore,
         STORE,
     } = createPainlessRedux(redux, addReducer);
    
    const App: React.FC = () => {
        return (
            <StoreContext.Provider value={STORE}>
            // your app
            </StoreContext.Provider>
        )
    }

Usage

    import { useEntity } from 'react-painless-redux';
    import { YourEntityInterface } from './serviceSpecifications.types';
	
    export const useYourEntity = () => useEntity<YourEntityInterface>({
        name: 'your-entity-name',
    });

API

See painless-redux API

Package Sidebar

Install

npm i react-painless-redux

Weekly Downloads

2

Version

0.0.5

License

MIT

Unpacked Size

14.6 kB

Total Files

18

Last publish

Collaborators

  • grushinegor