Skip to content

Commit da749a2

Browse files
committed
Add sub navigation
1 parent 289dde8 commit da749a2

File tree

7 files changed

+46
-8
lines changed

7 files changed

+46
-8
lines changed

lessons/01-setting-up/index.css

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
.active {
2+
color: green;
3+
}

lessons/01-setting-up/index.html

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
<!doctype html public "storage">
22
<html>
3+
<head>
34
<meta charset=utf-8/>
5+
<link rel="stylesheet" href="index.css">
46
<title>My First React Router App</title>
7+
</head>
58
<div id=app></div>
69
<script src="bundle.js"></script>

lessons/01-setting-up/index.js

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,19 @@ import { render } from 'react-dom'
33
import { Router, Route, hashHistory } from 'react-router'
44
import About from './modules/About'
55
import Repos from './modules/Repos'
6+
import Repo from './modules/Repo'
67
import App from './modules/App'
78

89

910
render(
1011
(
1112
<Router history={hashHistory}>
12-
<Route path="/" component={App}/>
13-
<Route path="about" component={About}/>
14-
<Route path="repos" component={Repos}/>
13+
<Route path="/" component={App}>
14+
<Route path="/repos" component={Repos}>
15+
<Route path="/repos/:userName/:repoName" component={Repo}/>
16+
</Route>
17+
<Route path="/about" component={About}/>
18+
</Route>
1519
</Router>
1620
), document.getElementById('app')
1721
)

lessons/01-setting-up/modules/App.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,17 @@
11
import React from 'react'
22
import { Link } from 'react-router'
3+
import NavLink from './NavLink'
34

45
export default React.createClass({
56
render() {
67
return (
78
<div>
89
<h1>React Router Tutorial</h1>
910
<ul role="nav">
10-
<li><Link to="/about">About</Link></li>
11-
<li><Link to="/repos">Repos</Link></li>
11+
<li><NavLink to="/about">About</NavLink></li>
12+
<li><NavLink to="/repos">Repos</NavLink></li>
1213
</ul>
14+
{this.props.children}
1315
</div>
1416
)
1517
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
import React from 'react'
2+
import { Link } from 'react-router'
3+
4+
export default React.createClass({
5+
render() {
6+
return <Link {...this.props} activeClassName="active" />
7+
}
8+
})

lessons/01-setting-up/modules/Repo.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import React from 'react'
2+
3+
export default React.createClass({
4+
render() {
5+
return (
6+
<div>
7+
<h2>{this.props.params.repoName}</h2>
8+
</div>
9+
)
10+
}
11+
})
Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,18 @@
11
import React from 'react'
2+
import { Link } from 'react-router'
3+
import NavLink from './NavLink'
24

35
export default React.createClass({
4-
56
render() {
6-
return
7+
return (
78
<div>
8-
Repos
9+
<h2>Repos</h2>
10+
<ul>
11+
<li><NavLink to="/repos/reactjs/react-router">React Router</NavLink></li>
12+
<li><NavLink to="/repos/facebook/react">React</NavLink></li>
13+
</ul>
14+
{this.props.children}
915
</div>
16+
)
1017
}
1118
})

0 commit comments

Comments
 (0)