Have ideas to improve npm?Join in the discussion! »

kpduxTypeScript icon, indicating that this package has built-in type declarations

2.0.1 • Public • Published

kpdux

Install

npm install kpdux redux

Usage

Init:

import kpdux from "kpdux";
 
 
const store = kpdux.createStore({
    "auth": {
        "state": {
            "token": ""
        },
        "reduces": {
            "REDUCER/TYPE": function(state, action) {
                if(/*  */) {
                    return {
                        /*  */
                        ...state
                    };
                }
 
                return state;
            }
        },
        "middlewares": {
            "MIDDLEWARE/TYPE": async function(action) {
                let state = this.getState();
 
                await this.exampleAction();
            }
        },
        "getters": {
            getToken(state, getters, rootState, rootGetters) {
                return state.token;
            }
        },
        "mutations": {
            setToken(state, token) {
                state.token = token;
            }
        },
        "actions": {
            async auth(login, password) {
                let state = this.getState();
 
                // send your data
 
                this.setToken("your token");
            },
            async exampleAction() {
                
            }
        }
    }
}, {
    // your reduces
}, {
    // your middlewares
});
import React from "react";
import {Provider} from "react-redux";
import ReactDOM from "react-dom";
 
 
ReactDOM.render(
    <Provider store={store.getStore()}>
        {/* Your APP */}
    </Provider>,
    document.getElementById("root")
);

With react-redux:

import React from "react";
import {connect} from "react-redux";
// ...
 
class AuthForm extends React.Component {
    // ...
    async login() {
        await this.props.login("login", "password");
    }
    // ...
    render() {
        // ...
    }
}
 
 
const putStateToProps = (state) => {
    return {
        // getters like function
        "token": state.auth.getToken()
        
        // getters like property
        "token": state.auth.getters.getToken
    };
};
 
const putActionsToProps = () => {
    return {
        // actions
        "login": store.auth.login
    };
};
 
export default connect(putStateToProps, putActionsToProps)(AuthForm);

Keywords

Install

npm i kpdux

DownloadsWeekly Downloads

58

Version

2.0.1

License

ISC

Unpacked Size

27.8 kB

Total Files

28

Last publish

Collaborators

  • avatar