Components
Before we starting writing the app, it’s worth going through some of the concepts React introduces.
To make it easier to explain, I won’t be differentiating between what react provides vs react-dom.
Components
A Component takes zero or more props and returns a node. One of these props can be children which is also a node and so allows nesting Components within Components.
There’s two ways to write components. Using Functions or Classes.
Functional Components
The most basic Component is a function.
|
|
Class Components
The most basic Class Component needs to implement the render function.
|
|
This makes it essentially the same as a Functional Component. However, Class Components also allow you to hook into the Component Lifecycle. We’ll be going into this lifecycle in a future session.
For the most part, Functional Components are ideal as they’re simple and don’t introduce special casing and state.
Node
A Node is anything that can be rendered by react-dom. Meaning it can be either a React Element; a String or Number (i.e. Text Element); or an Array of them.
Element
An Element is an instance of a Component with Props.
Props
Props is just a plain object that’s passed into a component. Changing a prop will cause a Component to re-render.