DEV Community

Cover image for Day 4: Components in React
Dhaval Patel
Dhaval Patel

Posted on

Day 4: Components in React

Introduction
Welcome to Day 4 of our 30-day blog series on React.js! Today, we'll delve into one of the fundamental concepts of React: components. Components are the building blocks of React applications, encapsulating UI elements and their behavior into reusable pieces.

What are Components?
In React, components are reusable and independent pieces of UI that can be composed together to build complex user interfaces. Components can be either class-based or functional, and they can represent anything from a simple button to a complex form or even an entire page.

Class Components vs. Functional Components
In React, there are two primary types of components: class components and functional components.

1. Class Components:

  • Class components are ES6 classes that extend the React.Component class.

  • They have a render() method that returns React elements.

  • Class components can have state and lifecycle methods.

2. Functional Components:

  • Functional components are JavaScript functions that return React elements.

  • They are simpler and more concise compared to class components.

  • Functional components are primarily used for presenting UI without managing state or lifecycle methods. However, with the introduction of hooks, functional components can now manage state and utilize lifecycle methods.

Creating and Using Components
Here's an example of how to create and use components in React:

// Functional Component
function Greeting() {
  return <h1>Hello, React!</h1>;
}

// Class Component
class Welcome extends React.Component {
  render() {
    return <h2>Welcome to my React App!</h2>;
  }
}

// App Component using both Greeting and Welcome components
function App() {
  return (
    <div>
      <Greeting />
      <Welcome />
    </div>
  );
}

Enter fullscreen mode Exit fullscreen mode

In the above example:

  • Greetingand Welcomeare two components, one functional and one class-based.

  • The Appcomponent renders both Greetingand Welcomecomponents.

Components are the building blocks of React applications, allowing developers to create reusable and composable UI elements. Whether functional or class-based, components play a crucial role in organizing and structuring React applications.

Stay tuned for tomorrow's post, where we'll dive deeper into props and state, two important concepts in React for passing data between components and managing component-specific data.

Top comments (0)