react-redux-auto

1.2.8 • Public • Published

auto-react-redux

Override some react-redux functions to auto-generate, connect, dispatch store, state ...

- No more actions, actions creator, just use the direct name of reducer
- No more: action, type ... just create a reducer with first param: state, followed by other args
- No more dispatch, no more mapStateToProps ... just use listen for re-render when state changed
- Full compatible with React-redux so we can use Redux debug tool for debugging

Example of usage:

// store.js
let todoReducers = {
  addTodo: (state, todo) => [...state, todo],
  asyncAdd: async (state, todo) => {
      await setTimeout(() => (), 1000);
      return [...state, todo];
  }
}

let appStore = {
  todos: {reducers: todoReducers, default: {}},
};

const $store = createAutoReduxStore(appStore);
let [$store, _reduxStore] = createAutoReduxStore(appStore);
export var reduxStore = _reduxStore;


// index.js
import {reduxStore} from './store';

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

// Todo.js
import {listen} from "../react-redux-auto";

class Todo extends React.Component {
  render() {
      return <button onClick={$store.todos.asyncAdd('New task')}>
          {$store.todos.value.map(todo => <div>{todo}</div>)}
      </button>
  }
}

export default listen(todos)(Todo);

Readme

Keywords

Package Sidebar

Install

npm i react-redux-auto

Homepage

...

Weekly Downloads

3

Version

1.2.8

License

MIT

Unpacked Size

8.3 kB

Total Files

4

Last publish

Collaborators

  • dinhphong
  • hthieu1110
  • xuanhuan