Very small (30 lines of es6) and basic router for react.
You probably want to use react-router.
npm install --save tiny-react-router
import React from 'react'
import { Router } from 'tiny-react-router'
import Home from './screens/Home'
import Blog from './screens/Blog'
let routes = {
'/' : Home,
'/blog/:id' : Blog
}
React.render(
<Router routes={routes} />,
document.body
)
- Using history API and location.pathname instead of location.hash
- Major rewrite using ES6 features and no babel
- Exporting
{ Router, nav, getPath }
- No default export
- Removing event listener on componentWillUnmount and keeping track of mounted state
- Only trying to setState when mounted
- Using window.addEventListener instead of stealing window.onhashchange
- Initial release 🎉
enjoy.