open-index/open-npm huggingface dataset:
npm package: @redux-eggs/redux
Description: _Redux Eggs_ wrapper for [Redux](https://redux.js.org/).
Author: Fosty Fost
Latest version: 3.0.0-alpha.4

# Redux Eggs for Redux

_Redux Eggs_ wrapper for [Redux](https://redux.js.org/).

Contents:

- [Installation](#installation)
- [Usage](#usage)
- [Glossary](https://github.com/fostyfost/redux-eggs/tree/main/docs/glossary.md)
- [Examples](https://github.com/fostyfost/redux-eggs/tree/main/docs/examples.md)

## Installation:

If you are using **Yarn**, run

```shell
yarn add @redux-eggs/core @redux-eggs/redux
```

If you are using **NPM**, run

```shell
npm install --save @redux-eggs/core @redux-eggs/redux
```

⚠️ Minimum supported versions of **peer dependencies**:

- `redux` 4.0.0 and newer

## Usage

Create your store:

```typescript
import { createStore } from '@redux-eggs/redux'

export const store = createStore()
```

Add reducer to `egg`:

```typescript
// my-egg.js
import { myReducer } from '../my-reducer'

export const getMyEgg = () => {
  return {
    id: 'my-egg',
    reducersMap: {
      myState: myReducer,
      // ...
    },
    // ...
  }
}

// my-another-egg.js
import { myAnotherReducer } from '../my-another-reducer'

export const getMyAnotherEgg = () => {
  return {
    id: 'my-another-egg',
    reducersMap: {
      myAnotherState: myAnotherReducer,
      // ...
    },
    // ...
  }
}
```

Add `egg` to your store:

```typescript
import { getMyEgg } from '../eggs/my-egg'

// Somewhere in your application
store.addEggs([getMyEgg()])

// Somewhere else
import { getMyAnotherEgg } from '../eggs/my-another-egg'

// Somewhere in your application
store.addEggs([getMyAnotherEgg()])
```
npm package: @redux-eggs/redux-toolkit
Description: _Redux Eggs_ wrapper for [Redux Toolkit](https://redux-toolkit.js.org/).
Author: Fosty Fost
Latest version: 3.0.0-alpha.4

# Redux Eggs for Redux Toolkit

_Redux Eggs_ wrapper for [Redux Toolkit](https://redux-toolkit.js.org/).

Contents:

- [Installation](#installation)
- [Usage](#usage)
- [Glossary](https://github.com/fostyfost/redux-eggs/tree/main/docs/glossary.md)
- [Examples](https://github.com/fostyfost/redux-eggs/tree/main/docs/examples.md)

## Installation:

If you are using **Yarn**, run

```shell
yarn add @redux-eggs/core @redux-eggs/redux-toolkit
```

If you are using **NPM**, run

```shell
npm install --save @redux-eggs/core @redux-eggs/redux-toolkit
```

⚠️ Minimum supported versions of **peer dependencies**:

- `@reduxjs/toolkit` 1.6.0 and newer

## Usage

Create your store:

```typescript
import { createStore } from '@redux-eggs/redux-toolkit'

export const store = createStore()
```

Add reducer from slice to `egg`:

```typescript
// my-egg.js
import { mySlice } from '../my-slice'

export const getMyEgg = () => {
  return {
    id: 'my-egg',
    reducersMap: {
      myState: mySlice.reducer,
      // ...
    },
    // ...
  }
}

// my-another-egg.js
import { myAnotherSlice } from '../my-another-slice'

export const getMyAnotherEgg = () => {
  return {
    id: 'my-another-egg',
    reducersMap: {
      myAnotherState: myAnotherSlice.reducer,
      // ...
    },
    // ...
  }
}
```

Add `egg` to your store:

```typescript
import { getMyEgg } from '../eggs/my-egg'

// Somewhere in your application
store.addEggs([getMyEgg()])

// Somewhere else
import { getMyAnotherEgg } from '../eggs/my-another-egg'

// Somewhere in your application
store.addEggs([getMyAnotherEgg()])
```
npm package: @redux-eggs/saga-extension
Description: _Redux Eggs_ extension that brings dynamic [sagas](https://redux-saga.js.org/) to your Redux store.
Author: Fosty Fost
Latest version: 3.0.0-alpha.4

# Redux Eggs Saga Extension

_Redux Eggs_ extension that brings dynamic [sagas](https://redux-saga.js.org/) to your Redux store.

Contents:

- [Installation](#installation)
- [Usage](#usage)
- [Glossary](https://github.com/fostyfost/redux-eggs/tree/main/docs/glossary.md)
- [Examples](https://github.com/fostyfost/redux-eggs/tree/main/docs/examples.md)

## Installation:

If you are using **Yarn**, run

```shell
yarn add @redux-eggs/core @redux-eggs/saga-extension
```

If you are using **NPM**, run

```shell
npm install --save @redux-eggs/core @redux-eggs/saga-extension
```

⚠️ Minimum supported versions of **peer dependencies**:

- `redux-saga` 1.1.0 and newer

## Usage

Create your store:

```typescript
import { createStore } from '@redux-eggs/redux-toolkit'
import { getSagaExtension } from '@redux-eggs/saga-extension'

export const store = createStore({ extensions: [getSagaExtension()] })
```

Add sagas to your `eggs`:

```typescript
// my-egg-with-sagas.js
export const getMyEggWithSagas = () => {
  return {
    id: 'my-egg-with-sagas',
    sagas: [mySaga1, mySaga2],
    // ...
  }
}

// my-another-egg-with-sagas.js
export const getMyAnotherEggWithSagas = () => {
  return {
    id: 'my-another-egg-with-sagas',
    sagas: [mySaga3, mySaga4],
    // ...
  }
}
```

Your sagas will run automatically, just add them to your store:

```typescript
import { getMyEggWithSagas } from '../eggs//my-egg-with-sagas'
import { getMyAnotherEggWithSagas } from '../eggs/my-another-egg-with-sagas'

// Somewhere in your application
store.addEggs([getMyEggWithSagas(), getMyAnotherEggWithSagas()])
```

Remove your sagas from store, they will be cancelled automatically:

```typescript
// Somewhere in your application
const remove = store.addEggs([
  /* array of `eggs` */
])

// ...later
remove()
```
npm package: @redux-hooks/request
Description: React hooks designed for managing requests with Redux
Author: Edmund Hung
Latest version: 1.0.0

# `useRequest`

> A react hook designed for managing request state with Redux

## Installation

`redux-hooks` requires the following packages:
1. react@16.8.3 or later
2. react-redux@7.1.0 or later
3. redux@2.0.0 or later

```
npm install --save @redux-hooks/request
```

## Getting Started

### 1. Setup the request reducer

```js
import request from '@redux-hooks/request';

const reducer = combineReducer({
  request,
  // ... and your other reducers
});

export default reducer;
```

### 2. Enjoy the hook
```js
import { useRequest } from '@redux-hooks/request';
import React, { useEffect } from 'react';
import TodoList from './TodoList';

function getTodos() {
  return fetch('/todos').then(response => response.json());
}

function Todos() {
  const [result, request] = useRequest('GET_TODOS', getTodos);

  useEffect(() => {
    request();
  }, [request]);

  if (!result.requested || !result.requesting) {
    return 'Loading';
  }

  if (result.error) {
    return result.error;
  }

  return (
    <TodoList todos={result.data}>
  )
}

export default Todos;
```

## API Reference

- [useRequest](#useRequest)
- [makeUseRequest](#makeUseRequest)

### useRequest

```js
useRequest(
  name: string,
  request: (...args: Args[]) => Promise<Data>,
  cacheKey?: string,
): [
  RequestResult<Data>,
  (...args: Args[]) => Promise<RequestResult<Data>>
];
```

#### Arguments

1. `name: string`:
Name of the request. It must be unique across all requests.

2. `request: (...args: Args[]) => Promise<Data>`:
The request function. It should return a promise.

3. `cacheKey?: string`:
The request result will be cached by the provided cache key.

#### Usage

```js
import { useRequest } from '@redux-hooks/request';
import { useEffect } from 'react';

function getTodo(todoId: string) {
  return fetch(`/todo/${todoId}`).then(response => response.json());
}

function useTodo(todoId: string) {
  const [result, request] = useRequest('TODO', getTodo, todoId);

  useEffect(() => {
    request(todoId);
  }, [request, todoId]);

  return result;
}

export default useTodo;
```

### makeUseRequest

Factory for making the `useRequest` hook

```js
makeUseRequest({
  baseSelector?: (state: any) => State,
  context?: React.Context,
}): useRequestHook;
```

#### Options

1. `baseSelector: (state: any) => State`:
Required if the request reducer is setup different from the [default approach](#1.-Setup-the-request-reducer)

2. `context: React.Context`:
Required if multiple stores are set
npm package: @redux-model/web-router
Description: A redux router model based on [@redux-model/react](https://github.com/redux-model/redux-model) that support `react` and `vue`, it works in browser.
Author: 范文华
Latest version: 4.0.0-alpha.3

## @redux-model/web-router

A redux router model based on [@redux-model/react](https://github.com/redux-model/redux-model) that support `react` and `vue`, it works in browser.

## Installation

```bash
npm install @redux-model/web-router
```

## Register

### Register Browser history

```typescript
import { BrowserRouterModel } from '@redux-model/web-router';

export routerModel = BrowserRouterModel.init();
```

### Register Hash history

```typescript
import { HashRouterModel } from '@redux-model/web-router';

export routerModel = HashRouterModel.init();
```

## Methods

`push`, `replace`, `go`, `goBack`, `goForward`

```typescript
routerModel.push('/user');
routerModel.goBack();
```

## Listeners

```typescript
class TestModel extends Model<Data> {
    constructor() {
        super();

        routerModel.listenPath('/user/:id', ({ id }, location, action) => {
           console.log(id);
        });

        routerModel.listenAll((localtion, action) => {
            // All history changes will be handle here
            // Do something...
        });

        const token = routerModel.listenPath('/article/:id/category/:cate', ({ id, cate }, location, action) => {
            console.log(id);
            console.log(cate);
        });

        // In some case, you don't want to listen it any more.
        routerModel.unlisten(token);
    }
}

export const testModel = new TestModel();
```

## Data

### In Hooks
```typescript jsx
import { routerModel } from '@redux-model/web-router';

const App = () => {
  const { location, action } = routerModel.useData();

  return <div />;
};
```

### In Class Component

```typescript jsx
import { routerModel } from '@redux-model/web-router';

type Props = ReturnType<typeof mapStateToProps>;

class App extends Component<Props> {
  render() {
    return <div />;
  }
}

const mapStateToProps = () => {
  return {
    location: routerModel.data.location,
    action: routerModel.data.action,
  };
};

export default connect(mapStateToProps)(App);
```
npm package: @redux-multipurpose/angular-cli
Description: A multipurpose redux tools angular cli
Author: Simone Colazzo
Latest version: 1.5.9

# [@redux-multipurpose/angular-cli](https://github.com/KitCarson88/redux-multipurpose-angular-cli)

The repository contains a Plop js project that is part of the @redux-multipurpose software suite.
It helps the developer to integrate a @reduxjs/toolkit store into an Angular 2+ application, and to create submodules of the store.

Ensure to have installed @redux-multipurpose/core and optionally @redux-multipurpose/angular-router before install this package.

## Installation

Redux Multipurpose angular-cli is available as a package on NPM, and should be installed globally:

    npm install -g @redux-multipurpose/angular-cli
    
To use a specific version of the cli in a Angular project a local installation as dev dependency can be provided into you project directory:

    npm install @redux-multipurpose/angular-cli --save-dev
    
## Usage

To start the cli, into the directory of your Angular project, type the command `multux` (that stands for multipurpose redux). The command starts the cli using global package.
It is recommendable to use the local version of the cli using the command `npx multux`.

The cli is interactive and during its first usage, it helps the developer to integrate a new store instance.
Executing again the cli after store generation, it helps to add different tools and modules skeletons to your store instance.
Please don't use it with an instance of a store not initialized with this cli.
npm package: @redux-multipurpose/angular-router
Description: Redux Multipurpose angular-router is available as a package on NPM:
Author: Simone Colazzo
Latest version: 1.1.3

# @redux-multipurpose/angular-router

Redux Multipurpose angular-router is available as a package on NPM:

    npm install @redux-multipurpose/angular-router
    
## Purpose

The Redux Multipurpose angular-router package is intended as a complementary package to be used with @redux-multipurpose/core package.
It is an implementation of core routing facility suitable for Angular applications.
npm package: @redux-mvc/core
Description: MVC Framework (react and redux)
Author: Gonzalo Rafael Acosta
Latest version: 1.0.12


# redux-mvc
  
  Alternative react bindings framework for React and Redux.
  
  Modular, composable, reusable. 
  
  [Docs](https://redux-mvc.github.io/docs)

  [Examples](https://redux-mvc.github.io/docs/examples)
  
[![build status](https://circleci.com/gh/redux-mvc/core/tree/master.svg?style=shield)](https://app.circleci.com/pipelines/github/redux-mvc/core?branch=master)
[![npm version](https://img.shields.io/npm/v/@redux-mvc/core.svg?style=flat-square)](https://www.npmjs.com/package/@redux-mvc/core)
[![npm downloads](https://img.shields.io/npm/dm/@redux-mvc/core.svg?style=flat-square)](https://www.npmjs.com/package/@redux-mvc/core)
  
## Installation

    # If you use npm:
    npm install @redux-mvc/core

    # Or if you use Yarn:
    yarn add @redux-mvc/core
  
## Motivations

   - Make an analogy with traditional MVC architecture.
   - Bring back separation of concerns.
   - redux is great for separation of concerns and reducing complexity, but is not modular and composable by default. Then is very hard to reuse.
   - Chop big redux state trees and make atomic modules.
   - Reduce the boilerplate around creating reducers, actionCreators, selectors, and wiring it all together.
   - Show the value of using a general but safe framework that enforces certain architecture choices.
   - Make a modular framework to be able to customize it to your needs.
   - Modules run when the module context component is constructed, not before like redux. 
   - Bring back code splitting for redux.
npm package: @redux-requests/axios
Description: Axios driver for redux-requests, declarative AJAX requests and automatic network state management for single-page applications
Author: Konrad Lisiczynski
Latest version: 1.2.0

# @redux-requests/axios

[![npm version](https://badge.fury.io/js/%40redux-requests%2Faxios.svg)](https://badge.fury.io/js/%40redux-requests%2Faxios)
[![Build Status](https://travis-ci.org/klis87/redux-requests.svg?branch=master)](https://travis-ci.org/klis87/redux-requests)
[![Coverage Status](https://coveralls.io/repos/github/klis87/redux-requests/badge.svg?branch=master)](https://coveralls.io/github/klis87/redux-requests?branch=master)
[![Known Vulnerabilities](https://snyk.io/test/github/klis87/redux-requests/badge.svg)](https://snyk.io/test/github/klis87/redux-requests)
[![lerna](https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg)](https://lernajs.io/)

Axios driver for redux-requests, declarative AJAX requests and automatic network state management for single-page applications

## Installation

To install the package, just run:

```
$ npm install @redux-requests/axios
```

or you can just use CDN: `https://unpkg.com/@redux-requests/axios`.

## Usage

For usage, see [redux-requests docs](https://redux-requests.klisiczynski.com).

## Licence

MIT
npm package: @redux-requests/fetch
Description: Fetch API driver for redux-requests, declarative AJAX requests and automatic network state management for single-page applications
Author: Konrad Lisiczynski
Latest version: 1.1.1

# @redux-requests/fetch

[![npm version](https://badge.fury.io/js/%40redux-requests%2Ffetch.svg)](https://badge.fury.io/js/%40redux-requests%2Ffetch)
[![Build Status](https://travis-ci.org/klis87/redux-requests.svg?branch=master)](https://travis-ci.org/klis87/redux-requests)
[![Coverage Status](https://coveralls.io/repos/github/klis87/redux-requests/badge.svg?branch=master)](https://coveralls.io/github/klis87/redux-requests?branch=master)
[![Known Vulnerabilities](https://snyk.io/test/github/klis87/redux-requests/badge.svg)](https://snyk.io/test/github/klis87/redux-requests)
[![lerna](https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg)](https://lernajs.io/)

Fetch API driver for redux-requests, declarative AJAX requests and automatic network state management for single-page applications

## Installation

To install the package, just run:

```
$ npm install isomorphic-fetch @redux-requests/fetch
```

or you can just use CDN: `https://unpkg.com/@redux-requests/fetch`.

## Usage

For usage, see [redux-requests docs](https://redux-requests.klisiczynski.com).

## Licence

MIT
npm package: @redux-requests/graphql
Description: GraphQL driver for redux-requests, declarative AJAX requests and automatic network state management for single-page applications
Author: Konrad Lisiczynski
Latest version: 1.3.0

# @redux-requests/graphql

[![npm version](https://badge.fury.io/js/%40redux-requests%2Fgraphql.svg)](https://badge.fury.io/js/%40redux-requests%2Fgraphql)
[![Build Status](https://travis-ci.org/klis87/redux-requests.svg?branch=master)](https://travis-ci.org/klis87/redux-requests)
[![Coverage Status](https://coveralls.io/repos/github/klis87/redux-requests/badge.svg?branch=master)](https://coveralls.io/github/klis87/redux-requests?branch=master)
[![Known Vulnerabilities](https://snyk.io/test/github/klis87/redux-requests/badge.svg)](https://snyk.io/test/github/klis87/redux-requests)
[![lerna](https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg)](https://lernajs.io/)

GraphQL driver for redux-requests, declarative AJAX requests and automatic network state management for single-page applications

## Installation

To install the package, just run:

```
$ npm install @redux-requests/graphql
```

or you can just use CDN: `https://unpkg.com/@redux-requests/graphql`.

## Usage

For usage, see [redux-requests docs](https://redux-requests.klisiczynski.com).

## Licence

MIT
npm package: @redux-requests/mock
Description: Mocking driver for redux-requests, declarative AJAX requests and automatic network state management for single-page applications
Author: Konrad Lisiczynski
Latest version: 1.1.0

# @redux-requests/mock

[![npm version](https://badge.fury.io/js/%40redux-requests%2Fmock.svg)](https://badge.fury.io/js/%40redux-requests%2Fmock)
[![Build Status](https://travis-ci.org/klis87/redux-requests.svg?branch=master)](https://travis-ci.org/klis87/redux-requests)
[![Coverage Status](https://coveralls.io/repos/github/klis87/redux-requests/badge.svg?branch=master)](https://coveralls.io/github/klis87/redux-requests?branch=master)
[![Known Vulnerabilities](https://snyk.io/test/github/klis87/redux-requests/badge.svg)](https://snyk.io/test/github/klis87/redux-requests)
[![lerna](https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg)](https://lernajs.io/)

Mock driver for redux-requests, declarative AJAX requests and automatic network state management for single-page applications

## Installation

To install the package, just run:

```
$ npm install @redux-requests/mock
```

or you can just use CDN: `https://unpkg.com/@redux-requests/mock`.

## Usage

For usage, see [redux-requests docs](https://redux-requests.klisiczynski.com).

## Licence

MIT
npm package: @redux-requests/promise
Description: Promise driver for redux-requests, declarative AJAX requests and automatic network state management for single-page applications
Author: Konrad Lisiczynski
Latest version: 1.1.0

# @redux-requests/promise

[![npm version](https://badge.fury.io/js/%40redux-requests%2Fpromise.svg)](https://badge.fury.io/js/%40redux-requests%2Fpromise)
[![Build Status](https://travis-ci.org/klis87/redux-requests.svg?branch=master)](https://travis-ci.org/klis87/redux-requests)
[![Coverage Status](https://coveralls.io/repos/github/klis87/redux-requests/badge.svg?branch=master)](https://coveralls.io/github/klis87/redux-requests?branch=master)
[![Known Vulnerabilities](https://snyk.io/test/github/klis87/redux-requests/badge.svg)](https://snyk.io/test/github/klis87/redux-requests)
[![lerna](https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg)](https://lernajs.io/)

Promise driver for redux-requests, declarative AJAX requests and automatic network state management for single-page applications

## Installation

To install the package, just run:

```bash
npm install @redux-requests/promise
```

or you can just use CDN: `https://unpkg.com/@redux-requests/promise`.

## Usage

For usage, see [redux-requests docs](https://redux-requests.klisiczynski.com).

## Licence

MIT
npm package: @redux-requests/react
Description: React bindings for redux-requests, declarative AJAX requests and automatic network state management for single-page applications
Author: Konrad Lisiczynski
Latest version: 1.8.0

# @redux-requests/react

[![npm version](https://badge.fury.io/js/%40redux-requests%2Freact.svg)](https://badge.fury.io/js/%40redux-requests%2Freact)
[![Build Status](https://travis-ci.org/klis87/redux-requests.svg?branch=master)](https://travis-ci.org/klis87/redux-requests)
[![Coverage Status](https://coveralls.io/repos/github/klis87/redux-requests/badge.svg?branch=master)](https://coveralls.io/github/klis87/redux-requests?branch=master)
[![Known Vulnerabilities](https://snyk.io/test/github/klis87/redux-requests/badge.svg)](https://snyk.io/test/github/klis87/redux-requests)
[![lerna](https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg)](https://lernajs.io/)

React bindings for redux-requests, declarative AJAX requests and automatic network state management for single-page applications

## Installation

To install the package, just run:

```
$ npm install @redux-requests/react
```

or you can just use CDN: `https://unpkg.com/@redux-requests/react`.

## Usage

For usage, see [redux-requests docs](https://redux-requests.klisiczynski.com).

## Licence

MIT
npm package: @redux-things/core
Description: A library that allows you to quickly and easily synchronize your store with the server.
Author: Eugen Guriev
Latest version: 1.11.21

<img src="https://raw.githubusercontent.com/theguriev/redux-things/master/packages/storybook/src/assets/logo.png" alt="Redux Things" width="100%" />
A library that allows you to quickly and easily synchronize your store with the server.

* [Documentation](https://theguriev.github.io/redux-things/index.html?path=/docs/getting-started-introduction--page)

### Features
* **Skeletons**
![Skeletons](https://raw.githubusercontent.com/theguriev/redux-things/master/assets/skeletons.gif)
* **Auto refetching**
![pooling](https://raw.githubusercontent.com/theguriev/redux-things/master/assets/pooling.gif)
* **Prefetch**
![prefetch](https://raw.githubusercontent.com/theguriev/redux-things/master/assets/prefetch.gif)
* **Window refocus refetching**
![refocus](https://raw.githubusercontent.com/theguriev/redux-things/master/assets/refocus.gif)
* **Debouncing**
* **Dependend things**
* **And many more...**

### Summary

* **It's easy and fast:** Writing your data fetching logic by hand is over. Tell Redux Things where to get your data and how fresh you need it to be and the rest is automatic. Redux Things handles caching, background updates and stale data out of the box with almost zero-configuration. If you know how to work with promises or async/await, then you already know how to use Redux Things. Simply pass a function that resolves your data (or throws an error) and the rest is history.
* **Easy integration:** All your previous legacy stuff will work as it was before. Nothing new. So, you do not need to demolish the house when the roof is leaking. There's no magic here, just middleware, actions, selectors, and async reducers.
* **It's extensible:** Built to fit most use cases out-of-the-box, but can easily be extended with custom Redux middleware, sagas, UI integrations, network interfaces, etc.

### Problems that Redux Things will completely solve

#### Caching 
You no longer need to worry about DDos on your own backend server. Requests will occur only when there is no data in the redux store. You can even use custom selectors, this will allow you to extract data from an external redux thing, which in turn reduces the number of requests to the server. Example:

```
// Request 1
/api/posts
[
    {
        id: 1,
        title: 'Super Cool post 1'
    },
    {
        id: 2,
        title: 'Super Cool post 2'
    },
    {
        id: 3,
        title: 'Super Cool post 3'
    }
]

// A request that does not launch because the data is already in the redux store
/api/post/2
{
    id: 2,
    title: 'Super Cool post 2'
}
```

#### Deduping multiple requests for the same data into a single request
Even if you run a million hooks from different components at the same time, only one request will be processed. This is very good because it does not restrict you from using it everywhere.

#### Preload data in the background
You can preload data and use it when you need it. This will help improve the user experience due to the responsiveness of the interface. Fast speed = happy users 😊
npm package: @reduxed/responsive
Description: Provides responsive components
Author: Gregory Emirian
Latest version: 0.1.4

# @reduxed/responsive

Provides responsive components

More features to come

Part of @reduxed utilities for Redux.

### Table of Contents
* [Installation](#installation)
* [Usage](#usage)

# Installation

```bash
$ yarn add @reduxed/responsive
```

or

```bash
$ npm install --save @reduxed/responsive
```

The [npm](https://www.npmjs.com) package provides a [CommonJS](http://webpack.github.io/docs/commonjs.html) build, a UMD build, as well as an AMD build.


# Usage

1. Trigger the appropriate action when the screen dimensions change

```jsx harmony
import { View } from 'react-native'
import { changeDimensions } from '@reduxed/responsive'

const renderResponsiveComponent = screen =>
  screen.is.small ? <div></div> : <span></span>

const Component = () =>
  <View onLayout={ ({ nativeEvent: { layout } }) => changeDimensions(layout) }>
  </View>
```


2. Build a more responsive UI by using render props:

```jsx harmony
import { ScreenDimensions } from '@reduxed/responsive'

const renderResponsiveComponent = screen =>
  screen.is.small ? <div></div> : <span></span>

const Component = () =>
  <ScreenDimensions render={ renderResponsiveComponent }/>
```

Optional - Set custom width values:

Build a more responsive UI by using render props:
 
 ```ecmascript 6
import { setWidthDimensions } from '@reduxed/responsive'

setWidthDimensions({ small: 576, medium: 768, large: 992, extraLarge: 1200 }) // these are default values
 ```
npm package: @reduxed/tree
Description: Creates React component and Redux state reducer files
Author: Gregory Emirian
Latest version: 0.1.3

# @reduxed/tree

Creates React component and Redux state reducer files

More features to come

Part of @reduxed utilities for Redux.

### Table of Contents
* [Installation](#installation)
* [Usage](#usage)

# Installation

```bash
$ yarn add @reduxed/tree
```

or

```bash
$ npm install --save @reduxed/tree
```

The [npm](https://www.npmjs.com) package provides a [CommonJS](http://webpack.github.io/docs/commonjs.html) build, a UMD build, as well as an AMD build.


# Usage

Adding a new reducer to your existing tree:

```bash
$ yarn reduxed-tree <relative path to reducer> <name> --reducer
```

or

```bash
$ ./node_modules/.bin/reduxed-tree <relative path to reducer> <name> --reducer
```

Adding a new component to your existing tree:

```bash
$ yarn reduxed-tree <relative path to component> <name>
```

or

```bash
$ ./node_modules/.bin/reduxed-tree <relative path to component> <name>
```
npm package: @reduxjs/redux-devtools-extension-fork
Description: Wrappers for Redux DevTools Extension.
Author: Mihail Diordiev
Latest version: 0.0.1

# Redux DevTools Extension's helper

[![Join the chat at https://gitter.im/zalmoxisus/redux-devtools-extension](https://badges.gitter.im/zalmoxisus/redux-devtools-extension.svg)](https://gitter.im/zalmoxisus/redux-devtools-extension?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)

## Usage

Install:

```
npm install --save redux-devtools-extension
```

and use like that:

```js
import { createStore, applyMiddleware } from 'redux'
import { composeWithDevTools } from 'redux-devtools-extension'

const store = createStore(
  reducer,
  composeWithDevTools(
    applyMiddleware(...middleware)
    // other store enhancers if any
  )
)
```

or if needed to apply [extension’s options](https://github.com/zalmoxisus/redux-devtools-extension/blob/master/docs/API/Arguments.md#windowdevtoolsextensionconfig):

```js
import { createStore, applyMiddleware } from 'redux'
import { composeWithDevTools } from 'redux-devtools-extension'

const composeEnhancers = composeWithDevTools({
  // Specify here name, actionsBlacklist, actionsCreators and other options
})
const store = createStore(
  reducer,
  composeEnhancers(
    applyMiddleware(...middleware)
    // other store enhancers if any
  )
)
```

There’re just [few lines of code](https://github.com/zalmoxisus/redux-devtools-extension/blob/master/npm-package/index.js). If you don’t want to allow the extension in production, just use ‘redux-devtools-extension/developmentOnly’ instead of ‘redux-devtools-extension’.

## License

MIT