In the React JavaScript library, a component is a piece of reusable code that represents a part of a user interface. Components can be either functional or class-based, and they can accept props (short for properties) as input and return a JSX template as output.
Functional components are simple functions that accept props as an argument and return a JSX template. They are easy to write and test, and they are a good choice for simple, presentational components. Here is an example of a functional component:
import React from 'react';
function HelloWorld(props) { return ( <div> <h1>Hello, {props.name}!</h1> </div> ); }
Class-based components are JavaScript classes that extend the React.Component class. They can accept props as an argument and include a render method that returns a JSX template. Class-based components are a good choice for more complex components that need to manage state or lifecycle methods. Here is an example of a class-based component:
import React, { Component } from 'react';
class HelloWorld extends Component { render() { return ( <div> <h1>Hello, {this.props.name}!</h1> </div> ); } }
Both functional and class-based components can be used in a React application to create a user interface. It is up to the developer to decide which type of component is best suited for a given task.
Components are an essential part of the React library, and they are a powerful way to build reusable, modular code for a user interface.
Here are a few examples of components in the React JavaScript library:
- Button component:
import React from 'react';
function Button(props) { return ( <button style={{ backgroundColor: props.color }}> {props.children} </button> ); }
This is a simple functional component that accepts props for the button’s color and text. It returns a button element with the specified background color and text.
- Form component:
import React, { Component } from 'react';
class Form extends Component { constructor(props) { super(props); this.state = { name: '', email: '', message: '' }; }
handleChange = (event) => { this.setState({ [event.target.name]: event.target.value }); }
handleSubmit = (event) => { event.preventDefault(); this.props.onSubmit(this.state); }
render() { return ( <form onSubmit={this.handleSubmit}> <label htmlFor="name">Name:</label> <input type="text" name="name" value={this.state.name} onChange={this.handleChange} /> <br /> <label htmlFor="email">Email:</label> <input type="email" name="email" value={this.state.email} onChange={this.handleChange} /> <br /> <label htmlFor="message">Message:</label> <textarea name="message" value={this.state.message} onChange={this.handleChange} /> <br /> <button type="submit">Submit</button> </form> ); } }
This is a class-based component that manages the state of a form and handles form submissions. It includes input fields for the user’s name, email, and message, and it updates the component’s state as the user types. When the form is submitted, the component calls the onSubmit prop function and passes the form data as an argument.
- Card component:
import React from 'react';
function Card(props) { return ( <div style={{ width: 300, border: '1px solid black' }}> <img src={props.image} alt={props.title} style={{ width: '100%' }} /> <h2>{props.title}</h2> <p>{props.description}</p> <p>Price: {props.price}</p> </div> ); }
This is a functional component that displays a product card with an image, title, description, and price. It accepts props for the product’s image, title, description, and price and displays them in the JSX template.
These are just a few examples of the types of components that can be created with the React library. Components are a powerful tool for building reusable, modular code for a user interface.
small, independent components, developers can create more maintainable and scalable applications. Components can be nested inside one another to create a hierarchy of components, and they can communicate with one another through props or state.
In summary, components are a fundamental building block of the React library and a powerful tool for creating reusable, modular code for a user interface. Whether you choose to use functional or class-based components, they are an essential part of any React application.
3 Comments
[…] React component is a reusable piece of code that represents a part of a user interface (UI) in a React application. […]
[…] The Ultimate Guide to Components in React […]
[…] The Ultimate Guide to Components in React […]