• Stars
    star
    874
  • Rank 51,839 (Top 2 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created over 10 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Declarative router component for React.

React Router Component

TravisCI Build Status

Version Compatibility
>= 0.39.0 React v15,16
>= 0.32.0 React v15
>= 0.27.0 React 0.14
0.24 - 0.26.0 React 0.13
0.23 - 0.26.0 React 0.12
0.20 - 0.22.2 React 0.11
< 0.20 React 0.10

React router component allows you to define routes in your React application in a declarative manner, directly as a part of your component hierarchy.

Project Overview

Usage is as simple as just returning a configured router component from your component's render() method:

<Locations>
  <Location path="/" handler={MainPage} />
  <Location path="/users/:username" handler={UserPage} />
  <Location path="/search/*" handler={SearchPage} />
  <Location path={/\/product\/([0-9]*)/} handler={ProductPage} />
</Locations>

Having routes defined as a part of your component hierarchy allows to dynamically reconfigure routing based on your application state. For example you can return a different set of allowed locations for anonymous and signed-in users.

React router component can dispatch based on location.pathname or location.hash if browser doesn't support History API (see hash routing).

Props can be passed through the router by setting them directly on each <Location>, or to all possible routes via a childProps hash.

Furthermore it provides advanced features like support for regex matching, full page server side rendering, multiple routers on the same page, querystring parsing, and contextual routers.

Its functionality is tested using Saucelabs on all modern browsers (IE >= 9, Chrome >= 27, Firefox >= 25, Safari >= 6 and Mobile Safari on iPhone and iPad >= 6).

Its size is about 3.5kb gzipped.

Installation

React router component is packaged on npm:

% npm install react-router-component

Docs

More Repositories

1

strml.net

STRML: Projects & Work
JavaScript
2,576
star
2

textFit

A jQuery-free component that quickly fits single and multi-line text to the width (and optionally height) of its container.
JavaScript
598
star
3

keyMirror

Simple util to create an object with its keys mirrored as values. Standalone port of react/lib/keyMirror.
JavaScript
386
star
4

react-localstorage

Simple componentized localstorage implementation for Facebook's React.
JavaScript
288
star
5

JSXHint

Wrapper around JSHint for linting JSX files. 100% compatible with existing tools using JSHint.
JavaScript
274
star
6

react-router-component-transition

Example code for router which does animated page transitions using ReactCSSTranstionGroup
JavaScript
244
star
7

securesha.re-client

Client-side files for Securesha.re, a simple end-to-end encrypted file sharing website.
JavaScript
107
star
8

Healthcare.gov-Marketplace

Community-driven fixes to healthcare.gov's unstable marketplace.
JavaScript
85
star
9

json-to-flow

Convert model schemata into Flow types (.js.flow)
JavaScript
64
star
10

mongoose-filter-denormalize

Simple filtering and denormalization for Mongoose.
JavaScript
53
star
11

async-limiter

A minimal library for throttling async concurrency.
JavaScript
30
star
12

react-document-events

Declarative method for binding handlers to document and window - and cleaning them up.
JavaScript
25
star
13

Imgur-to-Gfycat

Chrome extension that replaces gifs hosted by imgur to HTML5-optimized video converted and hosted by gfycat.
JavaScript
23
star
14

init

Configs
Lua
22
star
15

wayback-machine-machine

Teleport your browser back in time.
JavaScript
18
star
16

babel-preset-es2015-maybe-webpack

JavaScript
13
star
17

backbone.routeNotFound

Simple plugin that fires an event to let the application know that no routes matched, so you can fire a custom 404 handler.
JavaScript
11
star
18

backbone.queryRouter

Drop-in Backbone.Router replacement with support for listening to query parameters.
JavaScript
9
star
19

react-addons

Simple packaging of react addons to avoid fiddly 'react/addons' npm module.
JavaScript
8
star
20

jquery.scrollingShadows

A simple jQuery plugin that creates a shadow on the edge of a scrolling box, indicating that there is more content below.
JavaScript
8
star
21

presentations

JavaScript
8
star
22

forward-emitter

Forward events from any Node EventEmitter to another EventEmitter.
JavaScript
6
star
23

bootstrap-components

Web Components for Bootstrap.
4
star
24

fluxxor-autobind

AutoBind plugin for Fluxxor to help prevent spaghetti props wiring.
JavaScript
4
star
25

js-slack-bot

REPL in Slack.
JavaScript
4
star
26

wheresMyMoneyCampBX

CampBX Auto-Withdrawal Script. Tries to recover your coins.
Python
3
star
27

bitmex-blockclock

Push BitMEX prices to your Blockclock
JavaScript
3
star
28

healthcare.gov

JavaScript
2
star
29

strml.github.com

JavaScript
1
star
30

yarn-link-bug

Reproduction of a yarn --link-duplicates bug
1
star
31

flux-connect

A Redux-style @connect decorator for any Flux app, with proper Flow typing.
JavaScript
1
star
32

openbazaar-ui

CSS
1
star
33

bitmex-DTC

DTC to BitMEX API adapter
OCaml
1
star
34

parse-stream

Parse streams of binary data of arbitrary lengths, handling broken/incomplete chunks.
JavaScript
1
star