GithubHelp home page GithubHelp logo

exercise-simple-counter-react's Introduction

Simple Counter with React

React improves the creation of custom components, which you can render throughout your web-app using the ReactDOM.render() method. A custom component allows you to divide and conquer, separating logical and visual challenges into smaller pieces- giving you greater control over the display and functionalities of each part of the web-app.

For example, to create a bootstrap <Card />; component you'd code this:

function Card(props){
    return (
        <div className="card">
            <img className="card-img-top" src="http://via.placeholder.com/350x150" alt="Card image cap" />
            <div className="card-body">
                <h5 className="card-title">Card title</h5>
                <p className="card-text">Some quick example text to build on the card title and fill the card's content.</p>
                <a href="#" className="btn btn-primary">Go somewhere</a>
            </div>
        </div>
    );
}

After declaring it, you are able to import and use it in your webapp like this:

//import react into the bundle
import React from 'react';
import ReactDOM from 'react-dom';
import Card from './component/Card.jsx'

ReactDOM.render(<Card />, document.querySelector('#root'));

Additionally, you can pass information through the Card component using props:

<!-- Use of the custom component -->
<Card imageUrl="http://via.placeholder.com/350x150" title="A nice image" />

... for usage within the render method of your Card component (notice the image src and card title):

//Declaration of custom component (Card.js)

function Card(props){
    return (
        <div className="card">
            <img className="card-img-top" src={props.imageUrl} alt="Card image cap" />
            <div className="card-body">
                <h5 className="card-title">{props.title}</h5>
                <p className="card-text">Some quick example text to build on the card title and fill the card's content.</p>
                <a href="#" className="btn btn-primary">Go somewhere</a>
            </div>
        </div>
    );
}

๐ŸŒฑ How to start this project

Do not clone this repository.

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

a) If using Gitpod (reommended) 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

Create a seconds-counter component, called SecondsCounter. It should look like this one.

  • The whole purpose of the component is to display how many seconds have passed since the website finished loading (onLoad).
  • Use the ReactDOM.render() to render the component into the web-app.
  • Use the setInterval() function to re-render de component on every second.
  • The component does not need a local state, you can pass the number of seconds as props like this:
<SecondsCounter seconds={3434} />

  • You can find the clock icon on the left of the component in Font Awesome.

๐Ÿ”ฅ Bonus

  • Create an option to countdown from a given number.
  • Create stop, reset, and resume functionality
  • Create an alert when the user reaches a specified time, ie the user enters "10", an alert should render notifying the user that their time was reached

exercise-simple-counter-react's People

Contributors

alesanchezr avatar elviraqdp avatar mortegac 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.