1.2.1 • Published 2 years ago

@reactseed/use-redux v1.2.1

Weekly downloads
-
License
BSD
Repository
github
Last release
2 years ago

@reactseed/use-redux

LICENSE npm version npm downloads

Live demo

Edit useRedux

Features

  • Very simple to use, There is only one API.
  • Based on immer, easier to manipulate state.
  • Say goodbye to cumbersome action/reducer.
  • Support typescript.

Installation

npm install @reactseed/use-redux immer redux react-redux
# or
yarn add @reactseed/use-redux immer redux react-redux

API

It exports all the APIs of redux and react-redux.

userRedux

const [state, callbacks] = useMethods(methods);
  • state: the current state.
  • callbacks: a set of callbacks corresponding to your methods.
  • methods: a set of method which modify the state or return new states.

A full example:

Edit useRedux-Simple

A full example with typescript:

Edit useRedux-Simple

import React from 'react';
import ReactDOM from 'react-dom';
import useRedux, { Provider, createStore } from '@reactseed/use-redux';

const store = createStore(() => ({
  age: 20,
  name: 'reactseed',
}));

const methods = (state) => {
  const { age } = state;
  return {
    updateName: (name) => {
      state.name = name;
    },
    becomeOlder: () => {
      state.age = age + 1;
    },
  };
};

const App = () => {
  const [state, { updateName, becomeOlder }] = useRedux(methods);
  return (
    <div className="App">
      <h1>
        Hello {state.name} ({state.age})
      </h1>
      <input
        onChange={(e) => {
          updateName(e.target.value);
        }}
        value={state.name}
      />
      <br />
      <button onClick={becomeOlder}>Older</button>
    </div>
  );
};

ReactDOM.render(
  <Provider store={store}>
    <App />
  </Provider>,
  document.getElementById('root')
);

Notice:Components using useRedux need to be used in Provider, like this:

import { Provider, createStore } from "@reactseed/use-redux";
const store = createStore(() => ({
 name: "reactseed"
}));
...
...
<Provider store={store}>
   <App />
</Provider>

License

@reactseed/use-redux is open source software licensed as BDS.

1.2.0

2 years ago

1.2.1

2 years ago

1.1.0

2 years ago

1.0.5

2 years ago

1.0.4

3 years ago

1.0.3-alpha.0

3 years ago

1.0.3

3 years ago

0.1.0

3 years ago

0.0.6

3 years ago

0.0.5

3 years ago

0.0.3

4 years ago

0.0.2

4 years ago

0.0.1

4 years ago