# react-redux-toolkit

> This library implements connection of **React, React-Router, Redux, RxJS**. It really speeds up developing simple SPA.

Latest version **0.0.1-alpha.2** (published 2019-02-05) · MIT license · 0 weekly downloads

## Install

```sh
npm install react-redux-toolkit
pnpm add react-redux-toolkit
yarn add react-redux-toolkit
bun add react-redux-toolkit
```

## Health

**Score 20/100 (F)** — status: abandoned.

Positive: esm support; no vulnerabilities.

Warnings: low downloads; no types; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.0.1-alpha.2 |
| Published | 2019-02-05 |
| First published | 2019-01-28 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | ESM + CommonJS |
| Dependencies | 12 |
| Unpacked size | 43.3 KB |
| Known vulnerabilities | 0 (+24 in 1 direct dependencies) |
| Install scripts | no |
| Author | Rostyslav Pasichnyk |
| Maintainers | pasichnyk |

## Links

- npm: https://www.npmjs.com/package/react-redux-toolkit
- Repository: https://github.com/pasichnyk/react-redux-toolkit
- Homepage: https://github.com/pasichnyk/react-redux-toolkit#readme
- Issues: https://github.com/pasichnyk/react-redux-toolkit/issues
- npm.io page: https://npm.io/package/react-redux-toolkit

## Dependencies (12)

- [rxjs](https://npm.io/package/rxjs.md) ^5.5.6
- [axios](https://npm.io/package/axios.md) ^0.18.0
- [react](https://npm.io/package/react.md) ^16.0.0
- [redux](https://npm.io/package/redux.md) ^4.0.0
- [lodash](https://npm.io/package/lodash.md) ^4.17.10
- [shortid](https://npm.io/package/shortid.md) ^2.2.8
- [prop-types](https://npm.io/package/prop-types.md) ^15.6.1
- [react-redux](https://npm.io/package/react-redux.md) ^5.0.0
- [react-router](https://npm.io/package/react-router.md) ^4.3.1
- [react-router-dom](https://npm.io/package/react-router-dom.md) ^4.3.1
- [redux-observable](https://npm.io/package/redux-observable.md) ^0.18.0
- [universal-cookie](https://npm.io/package/universal-cookie.md) ^3.0.7

## Recent versions

- 0.0.1-alpha.2 (latest) — 2019-02-05
- 0.0.1-alpha.1 — 2019-01-28
- 0.0.1-aplha.1 — 2019-01-28
- 0.0.1-aplha — 2019-01-28

## README

This library implements connection of **React, React-Router, Redux, RxJS**. It really speeds up developing simple SPA.

### react-redux-toolkit does:
* Handling REST API requests.
* Parsing data from response to redux store and easily passing it to your component.
* Handling authorization, user permissions checking.
* And others.


## Example of usage
*File routes.js:*
```javascript
  const routes = [
    {
      path: '/user-list',
      component: UserList,
      initialRequest: {
        dataListID: 'users',
        dataListURL: '/users',
        defaultParams: {
          _limit: 100,
          _sort: 'name'
        },
        transformResponse: (body) => ({
          total: body.total,
          data: body.list
        })
      },
      allowedRoleTypes: ['admin', 'super-admin'],
      modalWindows: [
        {
          modalID: 'editCreateUsers',
          component: EditCreateUsers,
          reqObj: (data) => (data.id
            ? { method: 'put', url: `/../users/${data.id}/`, data }
            : { method: 'post', url: '/../users/', data }),
          dataListID: 'users'
        }
      ]
    },
    ...
  ];
  export default routes;
```

*File UserList.js:* 
```javascript
  const UserList = ({ data }) => (
    {/* Here render your users (for example) */}
    {data.map(user => (
      <div>{user.name}</div>
      <div>{user.email}</div>
    ))
  )
```

*File App.js:* 
```javascript
  import { Routes } from 'react-redux-toolkit';
  import myRoutes from './routes';

  const App = () => (
    <Routes routes={myRoutes}>
  );
```

---
_Source: https://npm.io/package/react-redux-toolkit · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
