Skip to content
This repository was archived by the owner on Jul 19, 2019. It is now read-only.
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
react-router学习~ 更多的嵌套
  • Loading branch information
Fridolph committed Aug 5, 2016
commit 7566e28740502cce8acef3df7d2c1348ebe572c0
18 changes: 17 additions & 1 deletion lessons/03-navigating-with-link/index.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import React from 'react'
/*import React from 'react'
import { render } from 'react-dom'
import { Router, Route, hashHistory } from 'react-router'
import App from './modules/App'
Expand All @@ -12,3 +12,19 @@ render((
<Route path="/about" component={About}/>
</Router>
), document.getElementById('app'))
*/
import React from 'react'
import ReactDOM from 'react-dom'
import { Router, Route, hashHistory } from 'react-router'
import App from './modules/App'
import About from './modules/About'
import Repos from './modules/Repos'

ReactDOM.render(
<Router history={hashHistory}>
<Route path="/" component={App}/>
<Route path="/repos" component={Repos}/>
<Route path="/about" component={About}/>
</Router>,
document.getElementById('app')
)
13 changes: 12 additions & 1 deletion lessons/03-navigating-with-link/modules/App.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,18 @@
import React from 'react'
import { Link } from 'react-router'

export default React.createClass({
render() {
return <div>Hello, React Router!</div>
return (
<div>
<h1>React Router Tudorial</h1>
<ul role="nav">
<li><Link to="/about" >About</Link></li>
<li><Link to="/repos" >Repos</Link></li>
</ul>
</div>
)
}
})


1 change: 1 addition & 0 deletions lessons/04-nested-routes/modules/App.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ export default React.createClass({
<li><Link to="/about">About</Link></li>
<li><Link to="/repos">Repos</Link></li>
</ul>
{this.props.childre}
</div>
)
}
Expand Down
3 changes: 3 additions & 0 deletions lessons/05-active-links/index.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
.active{
color: green;
}
1 change: 1 addition & 0 deletions lessons/05-active-links/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,6 @@
<html>
<meta charset=utf-8/>
<title>My First React Router App</title>
<link rel="stylesheet" href="index.css" />
<div id=app></div>
<script src="bundle.js"></script>
5 changes: 3 additions & 2 deletions lessons/05-active-links/modules/App.js
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
import React from 'react'
import { Link } from 'react-router'
import NavLink from './NavLink'

export default React.createClass({
render() {
return (
<div>
<h1>React Router Tutorial</h1>
<ul role="nav">
<li><Link to="/about">About</Link></li>
<li><Link to="/repos">Repos</Link></li>
<li><NavLink to="/about">About</NavLink></li>
<li><NavLink to="/repos">Repos</NavLink></li>
</ul>
{this.props.children}
</div>
Expand Down
10 changes: 10 additions & 0 deletions lessons/05-active-links/modules/NavLink.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import React from 'react'
import { Link } from 'react-router'

export default React.createClass({
render() {
return (
<Link {...this.props} activeClassName="active"></Link>
)
}
})
3 changes: 3 additions & 0 deletions lessons/06-params/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,14 @@ import { Router, Route, hashHistory } from 'react-router'
import App from './modules/App'
import About from './modules/About'
import Repos from './modules/Repos'
import Repo from './modules/Repo'

render((
<Router history={hashHistory}>
<Route path="/" component={App}>
<Route path="/repos" component={Repos}/>
{/* add the new route */}
<Route path="/repos/:userName/:repoName" component={Repo}/>
<Route path="/about" component={About}/>
</Route>
</Router>
Expand Down
11 changes: 11 additions & 0 deletions lessons/06-params/modules/Repo.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
import React from 'react'

export default React.createClass({
render() {
return (
<div>
<h2>{this.props.params.repoName}</h2>
</div>
)
}
})
13 changes: 12 additions & 1 deletion lessons/06-params/modules/Repos.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,18 @@
import React from 'react'
import NavLink from './NavLink'

export default React.createClass({
render() {
return <div>Repos</div>
return (
<div>
<h2>Repos</h2>
{/* add some links */}
<ul>
<li><NavLink to="/repos/reactjs/react-router">React-router</NavLink></li>
<li><NavLink to="/repos/facebook/react">React-Link</NavLink></li>
</ul>
{this.props.children}
</div>
)
}
})
5 changes: 3 additions & 2 deletions lessons/07-more-nesting/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,9 @@ import Repo from './modules/Repo'
render((
<Router history={hashHistory}>
<Route path="/" component={App}>
<Route path="/repos" component={Repos}/>
<Route path="/repos/:userName/:repoName" component={Repo}/>
<Route path="/repos" component={Repos}>
<Route path="/repos/:userName/:repoName" component={Repo} />
</Route>
<Route path="/about" component={About}/>
</Route>
</Router>
Expand Down
8 changes: 5 additions & 3 deletions lessons/07-more-nesting/modules/Repos.js
Original file line number Diff line number Diff line change
@@ -1,14 +1,16 @@
import React from 'react'
import { Link } from 'react-router'
import NavLink from './NavLink'

export default React.createClass({
render() {
return (
<div>
<h2>Repos</h2>
<ul>
<li><Link to="/repos/reactjs/react-router">React Router</Link></li>
<li><Link to="/repos/facebook/react">React</Link></li>
<li><NavLink to="/repos/reactjs/react-router">React-router</NavLink></li>
<li><NavLink to="/repos/facebook/react">React</NavLink></li>
{/* will render 'Repo.js' when at /repos/:userName/:repoName */}
{this.props.children}
</ul>
</div>
)
Expand Down