Sometimes we want to create components with an internal state that changes over time. Imagine a traffic light that changes color every 3 seconds, for that we normally initialize a variable color
and set it to a default color:
1let color = "blue";
But we want our component to re-render and change the website's HTML every time the variable color
changes, that's why we use hooks:
1// โ variable name โ default value 2const [ color, setColor ] = useState("red"); 3// โฌ function to change the "color" variable
From now on, every time we use the function setColor
to change the color
variable, the component will re-render and the entire traffic light HTML will be updated with the new color.
You can read more about hooks here.
Do not clone this repository because we are going to be using a different template.
We recommend opening the react boilerplate
using a provisioning tool like Codespaces (recommended) or Gitpod. Alternatively, you can clone it on your local computer using the git clone
command.
This is the repository you need to open or clone:
1https://github.com/4GeeksAcademy/react-hello
๐ Please follow these steps on how to start a coding project.
๐ก Important: Remember to save and upload your code to GitHub by creating a new repository, updating the remote (
git remote set-url origin <your new url>
), and uploading the code to your new repository using theadd
,commit
andpush
commands from the git terminal.
Let's simulate a traffic light like this one.
The light has to glow when clicked.
1const [ color, setColor ] = useState("red");
setColor
function to change the color, and the component will automatically re-render (because it's hooked with useState
).1ReactDOM.render(<TrafficLight />, document.querySelector('#app'));
This and many other projects are built by students as part of the 4Geeks Academy Coding Bootcamp by Alejandro Sanchez and many other contributors. Find out more about our Full Stack Developer Course, and Data Science Bootcamp.