Code Monkey home page Code Monkey logo

exercise-traffic-light-react's Introduction

Traffic Light with React

Sometimes we want to create components with an internal state that changes overtime, imagine a traffic light that changes color every 3 seconds, for that we normally will make a variable color and set it to a default color:

let color = "blue";

But we want our component to re-render and change the website HTML every time the variable color changes, that's why we use hooks:

//        ↓ variable name             ↓ default value
const [ color, setColor] = useState("red");
//               ⬆ function to change the color

From now one, every time we use the function setColor to change the variable color, 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.

🌱 How to start this project

Do not clone this repository.

The first step to start coding is cloning the react boilerplate on your local computer or gitpod.

a) If using Gitpod (recommended) you can clone the boilerplate by clicking here.

b) If working locally type the following command from your command line: $ git clone https://github.com/4GeeksAcademy/react-hello.

💡 Important: Remember to create a new repository, update the remote (git remote set-url origin <your new url>), and upload the code to your new repository using add, commit and push.

📝 Instructions

Let's simulate a traffic light like this one.

The light has to glow when clicked.

  • The whole purpose of the component is displaying a traffic light with red, yellow and green lights.
  • When any light is clicked (selected) it has to glow, but the other lights have to stop glowing.
  • The component must have a hooked state variable that tracks the color:
const [ color, setColor] = useState("red");
  • Use the setColor function to change the color an the component will automatically re-render (because it's hooked with useState).

  • Use the ReactDOM.render to render the component into the DOM like this

ReactDOM.render(<TrafficLight />, document.querySelector('#app'));

exercise-traffic-light-react's People

Contributors

alesanchezr avatar elviraqdp avatar hexbreak avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.