diff --git a/lessons/01-setting-up/index.css b/lessons/01-setting-up/index.css new file mode 100644 index 00000000..98e23a5c --- /dev/null +++ b/lessons/01-setting-up/index.css @@ -0,0 +1,3 @@ +.active{ + color: blue; +} \ No newline at end of file diff --git a/lessons/01-setting-up/index.html b/lessons/01-setting-up/index.html index 0a661421..463cfe7c 100644 --- a/lessons/01-setting-up/index.html +++ b/lessons/01-setting-up/index.html @@ -2,5 +2,6 @@ My First React Router App +
diff --git a/lessons/01-setting-up/index.js b/lessons/01-setting-up/index.js index 898eaa43..4e3d62da 100644 --- a/lessons/01-setting-up/index.js +++ b/lessons/01-setting-up/index.js @@ -1,4 +1,22 @@ -import React from 'react' -import { render } from 'react-dom' -import App from './modules/App' -render(, document.getElementById('app')) +"use strict"; +import React from 'react'; +import { render } 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'; +import Repo from './modules/Repo'; + +render( + ( + + + {/*add the new route*/} + + + + + + + ), document.getElementById('app') +); diff --git a/lessons/01-setting-up/modules/About.js b/lessons/01-setting-up/modules/About.js new file mode 100644 index 00000000..a47036ca --- /dev/null +++ b/lessons/01-setting-up/modules/About.js @@ -0,0 +1,14 @@ +'use strict'; + +import React from 'react'; +import {Link} from 'react-router'; +export default React.createClass({ + render() { + return ( +
+

Hello, about

+
back
+
+ ) + } +}); diff --git a/lessons/01-setting-up/modules/App.js b/lessons/01-setting-up/modules/App.js index cbbc7217..03f0560c 100644 --- a/lessons/01-setting-up/modules/App.js +++ b/lessons/01-setting-up/modules/App.js @@ -1,7 +1,23 @@ -import React from 'react' +'use strict'; + +import React from 'react'; +import { Link } from 'react-router'; export default React.createClass({ render() { - return
Hello, React Router!
+ return ( +
+

React Router Tutorial

+ + {this.props.children} +
+ ) } -}) +}); diff --git a/lessons/01-setting-up/modules/NavLink.js b/lessons/01-setting-up/modules/NavLink.js new file mode 100644 index 00000000..46e29559 --- /dev/null +++ b/lessons/01-setting-up/modules/NavLink.js @@ -0,0 +1,15 @@ +'use strict'; + +import React from 'react'; +import {render} from 'react-dom'; +import { Link } from 'react-router'; + +var NavLink = React.createClass({ + render:function(){ + return ( + + ); + } +}); + +export default NavLink; \ No newline at end of file diff --git a/lessons/01-setting-up/modules/Repo.js b/lessons/01-setting-up/modules/Repo.js new file mode 100644 index 00000000..e784c8de --- /dev/null +++ b/lessons/01-setting-up/modules/Repo.js @@ -0,0 +1,18 @@ +'use strict'; + +import React from 'react'; + +class Repo extends React.Component { + constructor(props) { + super(props); + this.displayName = 'Repo'; + } + render() { + return ( +
+

{ this.props.params.repoName}

+
+ )} +} + +export default Repo; diff --git a/lessons/01-setting-up/modules/Repos.js b/lessons/01-setting-up/modules/Repos.js new file mode 100644 index 00000000..cb81cf13 --- /dev/null +++ b/lessons/01-setting-up/modules/Repos.js @@ -0,0 +1,21 @@ +'use strict'; + +import React from 'react'; +import {Link} from 'react-router'; +import NavLink from './NavLink'; + +export default React.createClass({ + render() { + return ( +
+

Hello, repos

+
back
+ + {this.props.children} +
+ ) + } +});