# inferno-redux

> Official Inferno bindings for Redux

Latest version **9.1.0** (published 2026-04-07) · MIT license · 0 weekly downloads

## Install

```sh
npm install inferno-redux
pnpm add inferno-redux
yarn add inferno-redux
bun add inferno-redux
```

## Health

**Score 65/100 (B)** — status: active.

Positive: has types; esm support; no vulnerabilities; high maintenance score; popular repo.

Warnings: low downloads.

## Facts

| | |
|---|---|
| Version | 9.1.0 |
| Published | 2026-04-07 |
| First published | 2016-07-23 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM |
| Dependencies | 1 |
| Unpacked size | 147.9 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 16455 |
| Author | Dominic Gannaway |
| Maintainers | longlho, nightwolfz, lukesheard, trueadm, havunen |
| Keywords | babel, vdom, inferno, framework, interfaces, user interfaces, redux |

## Links

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

## Dependencies (1)

- [inferno](https://npm.io/package/inferno.md) 9.1.0

## Alternatives

- [@openai/codex-sdk](https://npm.io/package/@openai/codex-sdk.md) — 731.4K weekly downloads
- [babel-plugin-transform-react-jsx](https://npm.io/package/babel-plugin-transform-react-jsx.md) — 565.0K weekly downloads
- [babel-helper-remove-or-void](https://npm.io/package/babel-helper-remove-or-void.md) — 508.5K weekly downloads
- [@pnpm/store-controller-types](https://npm.io/package/@pnpm/store-controller-types.md) — 186.9K weekly downloads
- [react-native-signature-canvas](https://npm.io/package/react-native-signature-canvas.md) — 155.6K weekly downloads

## Recent versions

- 9.1.0 (latest) — 2026-04-07
- 9.0.12-alpha.1 (next) — 2026-04-06
- 3.9.0-alpha.1a5cdaaa (canary) — 2017-09-01
- 4.0.0-alpha1 (alpha#4-1) — 2017-06-25
- 1.0.0-beta44 (beta44) — 2016-12-28
- 1.0.0-beta43 (beta43) — 2016-12-27
- 1.0.0-beta42 (beta42) — 2016-12-23
- 1.0.0-beta41 (beta41) — 2016-12-23
- 1.0.0-beta40 (beta40) — 2016-12-23
- 1.0.0-beta39 (beta39) — 2016-12-22
- 1.0.0-beta38 (beta38) — 2016-12-22
- 1.0.0-beta37 (beta37) — 2016-12-19
- 1.0.0-beta36 (beta36) — 2016-12-17
- 1.0.0-beta35 (beta35) — 2016-12-16
- 1.0.0-beta34 (beta34) — 2016-12-15
- … 276 more at https://npm.io/package/inferno-redux/versions

## README

# inferno-redux

Inferno Redux is a [redux](https://github.com/reactjs/redux) library for [Inferno](https://github.com/infernojs/inferno).

Inferno Redux passes `context.store` value to each component.

## Install

```
npm install inferno-redux
```

## Contents

- Provider
- connect

## Usage

Usage of `inferno-redux` is similar to that of [react-redux](https://github.com/reactjs/react-redux).
Inspiration was taken from `react-redux` to provide Inferno with a similar API.

```js
import { render } from 'inferno';
import { Router, Route, browserHistory } from 'inferno-router';
import { Provider } from 'inferno-redux';
import { createStore } from 'redux';

const store = createStore(function (state, action) {
  switch (action.type) {
    case 'CHANGE_NAME':
      return {
        name: action.name,
      };
    default:
      return {
        name: 'TOM',
      };
  }
});

class App extends Component {
  render() {
    return <div>{this.props.children}</div>;
  }
}

class BasicComponent1 extends Component {
  render() {
    const store = this.context.store;
    const state = store.getState();

    const onClick = (e) => {
      e.preventDefault();
      store.dispatch({
        type: 'CHANGE_NAME',
        name: 'Jerry',
      });
    };

    return (
      <div className="basic">
        <a id="dispatch" onClick={onClick}>
          <span>Hello {state.name || 'Tom'}</span>
        </a>
      </div>
    );
  }
}

class BasicComponent2 extends Component {
  render() {
    const store = this.context.store;
    const state = store.getState();

    return (
      <div className="basic2">
        {state.name === 'Jerry' ? "You're a mouse!" : "You're a cat!"}
      </div>
    );
  }
}

render(
  <Provider store={store}>
    <Router history={browserHistory} component={App}>
      <Route path="/next" component={BasicComponent2} />
      <Route path="/" component={BasicComponent1} />
    </Router>
  </Provider>,
  container,
);
```

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