Skip to content
This repository was archived by the owner on Jul 19, 2019. It is now read-only.

Commit 2468147

Browse files
committed
my--exercise
exercise
1 parent 66d013c commit 2468147

File tree

29 files changed

+319
-29
lines changed

29 files changed

+319
-29
lines changed
File renamed without changes.

lessons/04-nested-routes/index.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,6 @@
22
<html>
33
<meta charset=utf-8/>
44
<title>My First React Router App</title>
5+
<link rel="stylesheet" href="index.css" />
56
<div id=app></div>
67
<script src="bundle.js"></script>

lessons/04-nested-routes/index.js

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,17 @@ import About from './modules/About'
66
import Repos from './modules/Repos'
77

88
render((
9+
// <Router history={hashHistory}>
10+
// <Route path="/" component={App}/>
11+
// <Route path="/repos" component={Repos}/>
12+
// <Route path="/about" component={About}/>
13+
// </Router>
14+
15+
// share nav
916
<Router history={hashHistory}>
10-
<Route path="/" component={App}/>
11-
<Route path="/repos" component={Repos}/>
12-
<Route path="/about" component={About}/>
17+
<Route path="/" component={App}>
18+
<Route path="/repos" component={Repos}/>
19+
<Route path="/about" component={About}/>
20+
</Route>
1321
</Router>
1422
), document.getElementById('app'))
Lines changed: 31 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,45 @@
11
import React from 'react'
22
import { Link } from 'react-router'
33

4+
5+
//active link 2
6+
import NavLink from './NavLink'
7+
48
export default React.createClass({
59
render() {
610
return (
11+
// <div>
12+
// <h1>React Router Tutorial</h1>
13+
// <ul role="nav">
14+
// <li><Link to="/about">About</Link></li>
15+
// <li><Link to="/repos">Repos</Link></li>
16+
// </ul>
17+
// </div>
18+
19+
// active link
20+
// <div>
21+
// <h1>React Router Tutorial</h1>
22+
// <ul role="nav">
23+
// <li><Link to="/about" activeClassName="active">About</Link></li>
24+
// <li><Link to="/repos" activeClassName="active">Repos</Link></li>
25+
// </ul>
26+
//
27+
// {/* add this */}
28+
// {this.props.children}
29+
// </div>
30+
31+
//active link 2
732
<div>
833
<h1>React Router Tutorial</h1>
934
<ul role="nav">
10-
<li><Link to="/about">About</Link></li>
11-
<li><Link to="/repos">Repos</Link></li>
35+
<li><NavLink to="/about">About</NavLink></li>
36+
<li><NavLink to="/repos">Repos</NavLink></li>
1237
</ul>
38+
39+
{/* add this */}
40+
{this.props.children}
1341
</div>
42+
1443
)
1544
}
1645
})
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
// modules/NavLink.js
2+
import React from 'react'
3+
import { Link } from 'react-router'
4+
5+
export default React.createClass({
6+
render() {
7+
return <Link {...this.props} activeClassName="active"/>
8+
}
9+
})

lessons/06-params/index.js

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,18 @@ import { Router, Route, hashHistory } from 'react-router'
44
import App from './modules/App'
55
import About from './modules/About'
66
import Repos from './modules/Repos'
7+
// new
8+
import Repo from './modules/Repo'
79

810
render((
911
<Router history={hashHistory}>
1012
<Route path="/" component={App}>
11-
<Route path="/repos" component={Repos}/>
1213
<Route path="/about" component={About}/>
14+
<Route path="/repos" component={Repos}/>
15+
16+
// new
17+
<Route path="/repos/:userName/:repoName/:name" component={Repo}/>
18+
<Route path="/repos/:userName/:repoName" component={Repo}/>
1319
</Route>
1420
</Router>
1521
), document.getElementById('app'))

lessons/06-params/modules/Repo.js

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

lessons/06-params/modules/Repos.js

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,26 @@
11
import React from 'react'
22

3+
// new
4+
import { Link } from 'react-router'
5+
36
export default React.createClass({
7+
// render() {
8+
// return <div>Repos</div>
9+
// }
10+
11+
// new
412
render() {
5-
return <div>Repos</div>
13+
return (
14+
<div>
15+
<h2>Repos</h2>
16+
17+
{/* add some links */}
18+
<ul>
19+
<li><Link to="/repos/reactjs/react-router/456">React Router</Link></li>
20+
<li><Link to="/repos/facebook/react">React</Link></li>
21+
</ul>
22+
23+
</div>
24+
)
625
}
726
})

lessons/07-more-nesting/index.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,9 @@ import Repo from './modules/Repo'
99
render((
1010
<Router history={hashHistory}>
1111
<Route path="/" component={App}>
12-
<Route path="/repos" component={Repos}/>
12+
<Route path="/repos" component={Repos}>
1313
<Route path="/repos/:userName/:repoName" component={Repo}/>
14+
</Route>
1415
<Route path="/about" component={About}/>
1516
</Route>
1617
</Router>

lessons/07-more-nesting/modules/Repos.js

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,21 @@
11
import React from 'react'
22
import { Link } from 'react-router'
33

4+
import NavLink from './NavLink'
5+
46
export default React.createClass({
57
render() {
68
return (
79
<div>
810
<h2>Repos</h2>
911
<ul>
10-
<li><Link to="/repos/reactjs/react-router">React Router</Link></li>
11-
<li><Link to="/repos/facebook/react">React</Link></li>
12+
{/*}<li><Link to="/repos/reactjs/react-router">React Router</Link></li>
13+
<li><Link to="/repos/facebook/react">React</Link></li>*/}
14+
<li><NavLink to="/repos/reactjs/react-router">React Routerrrrrr</NavLink></li>
15+
<li><NavLink to="/repos/facebook/react">Reactttttt</NavLink></li>
1216
</ul>
17+
{/* will render `Repo.js` when at /repos/:userName/:repoName */}
18+
{this.props.children}
1319
</div>
1420
)
1521
}

0 commit comments

Comments
 (0)