Skip to content

Commit 72b8485

Browse files
committed
learning about child links
1 parent 40031e4 commit 72b8485

File tree

9 files changed

+92
-3
lines changed

9 files changed

+92
-3
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: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
<!doctype html public "storage">
22
<html>
33
<meta charset=utf-8/>
4+
<link rel="stylesheet" href="index.css">
45
<title>My First React Router App</title>
56
<div id=app></div>
67
<script src="bundle.js"></script>

lessons/01-setting-up/index.js

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,22 @@
11
import React from 'react'
22
import { render } from 'react-dom'
33
import App from './modules/App'
4-
render(<App/>, document.getElementById('app'))
4+
import { Router, Route, hashHistory, IndexRoute } from 'react-router'
5+
import About from './modules/About'
6+
import Repos from './modules/Repos'
7+
import Repo from './modules/Repo'
8+
import Home from './modules/Home'
9+
10+
11+
render((
12+
<Router history={hashHistory}>
13+
<Route path="/" component={App}>
14+
<IndexRoute component={Home}/>
15+
<Route path="/repos" component={Repos}>
16+
<Route path="/repos/:userName/:repoName" component={Repo}/>
17+
</Route>
18+
<Route path="/about" component={About}/>
19+
</Route>
20+
</Router>
21+
), document.getElementById('app'))
22+
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import React from 'react'
2+
3+
export default React.createClass({
4+
render() {
5+
return <div>About</div>
6+
}
7+
})

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

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,21 @@
11
import React from 'react'
2-
2+
import { Link } from 'react-router'
3+
import { IndexLink } from 'react-router'
4+
import NavLink from './NavLink'
5+
import Home from './Home'
6+
37
export default React.createClass({
48
render() {
5-
return <div>Hello, React Router!</div>
9+
return (
10+
<div>
11+
<h1>React Router Tutorial</h1>
12+
<ul role="nav">
13+
<li><IndexLink to="/" activeClassName="active">Home</IndexLink></li>
14+
<li><NavLink to="/about">About</NavLink></li>
15+
<li><NavLink to="/repos">Repos</NavLink></li>
16+
</ul>
17+
{this.props.children || <Home />}
18+
</div>
19+
)
620
}
721
})

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

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import React from 'react'
2+
3+
export default React.createClass({
4+
render() {
5+
return (
6+
<div>Home</div>
7+
)
8+
}
9+
})
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: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import React from 'react'
2+
import { Link } from 'react-router'
3+
import NavLink from './NavLink'
4+
5+
export default React.createClass({
6+
render(){
7+
return (
8+
<div>
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}
15+
</div>
16+
)
17+
}
18+
})

0 commit comments

Comments
 (0)