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>
);
}
Create a seconds-counter component, called SecondsCounter. It should look like this one.
<SecondsCounter seconds={3434} />
Author: frankhurtado75
Source Code: https://github.com/frankhurtado75/simple-counter
#reactjs #react #javascript