https://github.com/l2silver/react-router-rest
https://github.com/l2silver/react-router-rest
Last synced: 6 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/l2silver/react-router-rest
- Owner: l2silver
- Created: 2016-07-22T02:25:45.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2016-07-23T17:24:08.000Z (almost 10 years ago)
- Last Synced: 2025-02-14T04:35:41.088Z (over 1 year ago)
- Language: JavaScript
- Size: 4.88 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
React Router Rest
=========================
[](https://coveralls.io/github/l2silver/react-router-rest?branch=master)
[](https://travis-ci.org/l2silver/react-router-rest)
Simple standardized react router routes with wrapper support
## Installation
```
npm install --save react-router-rest
```
## Example
../components/Users/Create.jsx
```
export function Create(props){
return
}
```
../components/Users/Base.jsx
```
export function Base(props){
return {props.children}
}
```
components/Users/index.jsx
```
export function Index(props){
return
}
export * from './Create
export * from './Base
```
../components/Routes/index.jsx
```
import React from 'react';
import { Router, Route, IndexRoute, browserHistory } from 'react-router';
import { restRoutes, setRestRoutes } from 'react-router-rest';
import * as Users from '../Users';
setRestRoutes({React, IndexRoute, Route});
{restRoutes(Users, {name: 'users'})}
====>
```
## How it works
Base components are placed in the root component
Index components are placed in the IndexRoute component
Everything else is placed in a regular route, the path being the lower case version of the component name ie. Create = create, Example = example
## Wrapper Support
React Router Redux also supports wrappers with the optional wrappers property in options
There are 2 wrapper settings
* base
* ComponentName
The base property lets you define a wrapper for every route in that base route.
The ComponentName property both allows you to define wrappers for specific components, and allows you to skip wrappers for certain paths
#### Example
../components/Routes/index.jsx
```
import React from 'react';
import { Router, Route, IndexRoute, browserHistory } from 'react-router';
import { restRoutes, setRestRoutes } from 'react-router-rest';
import * as Users from '../Users';
setRestRoutes({React, IndexRoute, Route});
const wrappers = {
base: (Component)=>
Create: (Component)=>
Index: 'skip'
}
{restRoutes(Users, {name: 'users', wrappers})}
====>
```
## License
MIT