Skip to content

Instantly share code, notes, and snippets.

@CharlesMangwa
Last active September 29, 2015 07:36
Show Gist options
  • Save CharlesMangwa/41f43c223613569808a0 to your computer and use it in GitHub Desktop.
Save CharlesMangwa/41f43c223613569808a0 to your computer and use it in GitHub Desktop.
import React from 'react'
import { Router, Route, Link } from 'react-router'
const App = React.createClass({/*...*/})
const About = React.createClass({/*...*/})
// etc.
const Users = React.createClass({
render() {
return (
<div>
<h1>Users</h1>
<div className="master">
<ul>
{/* utilisez des Link pour vous déplacer dans l'app */}
{this.state.users.map(user => (
<li key={user.id}><Link to={`/user/${user.id}`}>{user.name}</Link></li>
))}
</ul>
</div>
<div className="detail">
{this.props.children}
</div>
</div>
)
}
})
const User = React.createClass({
componentDidMount() {
this.setState({
// les composants de notre chemin sontrendus avec des informations utiles, comme les params de l'URL par exemple
user: findUserById(this.props.params.userId)
})
},
render() {
return (
<div>
<h2>{this.state.user.name}</h2>
{/* etc. */}
</div>
)
}
}
//Configuration "déclarative" de notre chemin
//(tout ce que vous avez vraiment besoin est un itinéraire unique à la racine).
React.render((
<Router>
<Route path="/" component={App}>
<Route path="about" component={About}/>
<Route path="users" component={Users}>
<Route path="/user/:userId" component={User}/>
</Route>
<Route path="*" component={NoMatch}/>
</Route>
</Router>
), document.body)
/*https://github.com/rackt/react-router*/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment