Een react-app analyseren en voorbereiden
We gaan de stuctuur van de gecreëerde react-app grondig bekijken en aanpassen aan onze eigen eisen.
Structuur
Als je de projectstructuur bekijkt, ziet je de /public en de /src mappen, samen met de standaard node_modules, .gitignore, README.md en package.json bestanden.
In /public staat voor ons een belangrijk bestand met de naam index.html, wat goed lijkt op het statische index.html bestand dat we eerder hebben gemaakt. Maar er staat alleen een root-div
in. Nu worden er geen bibliotheken of scripts geladen. De map /src bevat al onze React-code.

Om te zien hoe de omgeving automatisch je React-code compileert en bijwerkt, wijzig je de regel die in het geel is gemarkeerd:
import './App.css';
class App extends Component {
render() {
return (
<div className="App">
<header className="App-header">
<img src={logo} className="App-logo" alt="logo" />
<h1 className="App-title">Welcome to React</h1>
</header>
<p className="App-intro">
To get started, edit <code>src/App.js</code> and save to reload.
</p>
</div>
);
}
}
export default App;
En je vervang die door:
We zijn begonnen met React en hebben <code>src/App.js</code> gewijzigd en opnieuw geladen.
Laad de pagina opnieuw in je browser (op Cloud9: http://localhost:8080/) en je krijgt het volgende:

Voorbereiding
- We maken onze eigen standaardtekst en kieperen de voorgeprogrammeerde code overboord. We behouden alleen:
- index.js
- index.css
- In index.css plakken we de Primitive CSS van Tania Rascia. Je kan dat vervangen door je eigen CSS of door Bootstrap of om het even welk ander CSS framework.
- In index.js importeren we React, ReactDOM en het CSS bestand:
import React from 'react'; import ReactDOM from 'react-dom'; import './index.css';
- We deleten alle overige bestanden in de /src map te deleten.
- We gaan de app-component, die we in React op een statische HTML pagina, opnieuw maken. Daar hadden we een
<h1>
, maar nu voegen we ook eendiv
-element toe met een klasse. Zoals je kan zien gebruiken weclassName
in plaats vanclass
. Dit is een eerste aanwijzing dat de code, die hier wordt geschreven, JavaScript is, en niet echt HTML:class App extends Component { render() { return ( <div className="App"> <h1>Een React App maken</h1> </div> ); } }
- Ten slotte geven we de app als voorheen in de
root
weer:ReactDOM.render(<App />, document.getElementById('root'));
- Dit is onze volledige index.js. Deze keer laden we de component als een eigenschap van React, dus we hoeven niet langer over te erven van React.Component:
import React, { Component } from 'react'; import ReactDOM from 'react-dom'; import './index.css'; class App extends Component { render() { return ( <div className="App"> <h1>Een React App maken</h1> </div> ); } } ReactDOM.render(<App />, document.getElementById('root'));
- Als je de pagina in de browser laadt, krijg je het volgende:
React-app Welcome to Create React App
2018-10-01 11:58:12