Use [Facebook Create App](https://github.com/facebookincubator/create-react-app) Very simple app (in CodePen : https://codepen.io/anon/pen/JOjevM) ``` const App = () => (

Cool App

) ReactDOM.render(,document.getElementById("app")); ``` ## APIs Creating an API ``` const PlayerAPI = { players: [ { number: 1, name: "Ben Blocker", position: "G" }, { number: 2, name: "Dave Defender", position: "D" }, { number: 3, name: "Sam Sweeper", position: "D" }, { number: 4, name: "Matt Midfielder", position: "M" }, { number: 5, name: "William Winger", position: "M" }, { number: 6, name: "Fillipe Forward", position: "F" } ], all: function() { return this.players; }, get: function(id) { const isPlayer = p => p.number === id; return this.players.find(isPlayer); } }; ``` Using the API ``` const App = () => (

Cool App

); ``` Other component ``` const Detail = (props) => (
{props.player.name}
); ``` or shorter: ``` const Detail = ({player}) => (
{player.name}
); ``` Using the component: ``` ReactDOM.render( , document.getElementById("app"));``` # React Router You need to import some stuff : ``` import React from 'react' import { render } from 'react-dom' import { BrowserRouter } from 'react-router-dom' import App from './components/App'; ``` or ``` const { BrowserRouter, Switch, Route, Link } = ReactRouterDOM; ``` and code: ``` render(( ), document.getElementById('root')); ``` Your main app should define the top level routes ``` const App = () => (
); ``` Our header section simply displays the links to the routes ``` const Header = () => (
Home MasterDetail About
); ``` When we click a link, a certain route is activated and the assoicated component is rendered. When clicking masterdetail link, the MasterDetail component is rendered: ``` const MasterDetail = () => ( ); ``` The MasterDetail is capable of rendering 2 components. Master or Detail, depending on the path.