# react-rsk-router

> Statefull react router

Latest version **0.0.5** (published 2016-11-09) · MIT license · 0 weekly downloads

## Install

```sh
npm install react-rsk-router
pnpm add react-rsk-router
yarn add react-rsk-router
bun add react-rsk-router
```

## Health

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

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.0.5 |
| Published | 2016-11-09 |
| First published | 2016-11-01 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 2 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | Feleks |
| Maintainers | feleks |

## Links

- npm: https://www.npmjs.com/package/react-rsk-router
- npm.io page: https://npm.io/package/react-rsk-router

## Dependencies (2)

- [react](https://npm.io/package/react.md) ^15.3.2
- [react-dom](https://npm.io/package/react-dom.md) ^15.3.2

## Recent versions

- 0.0.5 (latest) — 2016-11-09
- 0.0.4 — 2016-11-09
- 0.0.3 — 2016-11-02
- 0.0.2 — 2016-11-01
- 0.0.1 — 2016-11-01

## README

# React RSK-Router

Declarative stateful react component router
````
import React from 'react';
import {route} from 'rsk-router';
 
class SomeReactComponent extends React.Component {
    constructor(props) {
        super(props);
        // Router requires some default states (only strings are allowed). 
        this.state = {
            someState: 'defaultValue',
            id: 'DfeEr1a3',
            zoom: '10%',
            path: '/path/to/some/file/or/folder'
        }
    }
    render() {
        // Some presentation code here 
    }
}
 
SomeReactComponent.stateRoutes = ['someState', 'id']; // States that will be bind to url`s route in said order 
SomeReactComponent.stateQuery = ['zoom', 'path']; // States that woll be bind to url`s query params 
 
export default route(SomeReactComponent);
````
On initial load code above will redirect you to 
`your.domain/#/defaultValue/DfeEr1a3?zoom=10%&path=/path/to/some/file/or/folder` 
(Only hash history is supported by now). And from now you can change url and it will effect 
corresponding component`s state and vice versa, mutating state of bind component will cause 
the appropriate change of url route or query.

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