Danh mụcThẻBài viết

admin

I'm a Full-stack developer

Thẻ

Linked List
Data Structure
Chat GPT
Design Pattern
Microservices
API
AWS CDK
ReactJS
AWS Lightsail
Flutter Mobile
Part 1: React Props and State
Ngày đăng: 18/06/2023

In this article, I will explain what is Props and State in React, and what is different between them. Before learning ReactJS, we should understand Props and State. This is basic for a newbie.


What is State in React?


State is an object that holds some information in a component. The important point is whenever state object is changed, the component is re-rendering.

Let's take an example. We have a DownloadButton component, The label default is Download. Used useState hook to change the label to Processing when the user clicked.


import React, { useState } from 'react';

function DownloadButton() {
  const [btnLabel, setBtnLabel] = useState('Download');

  const download = () => {
    setBtnLabel('Processing');
  }

  return (
    <div>
      <button onClick={download}>{btnLabel}</button>
    </div>
  );
}


What are Props in React?


Props are objects or values that are passed into a component. The main point is to pass data to your component and trigger State changes.

For example, we have 2 components that are ActionSession and DownloadButton. The DownloadButton component is children of ActionSession, it is received a value from the parent which is fileType. Then, the button label is changed after the fileType value is changed.


import React, { useState } from 'react';

interface DownloadButtonProps {
  fileType: 'csv' | 'excel';
}

function DownloadButton({ fileType }: DownloadButtonProps) {
  const [btnLabel, setBtnLabel] = useState('Download');

  const download = () => {
    setBtnLabel('Processing');
  }

  return (
    <div>
      <button onClick={download}>{btnLabel} - {fileType}</button>
    </div>
  );
}

function ActionSession() {
  return <DownloadButton fileType='csv'/>
}


What is different between Props and State?

Both Props and State are used to manage the data of a component but they are used in different ways and have different characteristics.


Props:

  • The data is passed from the parent component.
  • Can be used with State and functional components.
  • Cannot be modified.
  • Read-only.


State:

  • The Data is passed within the component only.
  • Can be modified.
  • Both read and write.


Thank you for reading!


Next articles:
PART 2: THE HOOKS ARE USED POPULARLY IN REACT
PART 3: REACT FRAGMENTS
Đề xuất

JOI - API schema validation
admin12/06/2023

JOI - API schema validation
Data validation is one of topics that I am interesting. I always review my code after developed features or fixed bugs. There are many places where need to validate data, it is really terrible. Some cases, we need to validate data input because ensure the data into API, it will not make any problems to crash system.
Part 1: React Props and State
admin18/06/2023

Part 1: React Props and State
Before learning React, we should understand Props and State. This is basic for a newbie.
Create Project with Express + TypeScript + ESLint + Auto Reload
admin12/06/2023

Create Project with Express + TypeScript + ESLint + Auto Reload
In this article, I introduce to you how to initialize an Express + TypeScript project.
Mới nhất

Create Cognito User Pool with AWS CDK
admin09/06/2023

Create Cognito User Pool with AWS CDK
In the previous post, I showed you how to create a simple S3 bucket. Next, in this article, I will guide you to create a Cognito User Pool.
Part 4: Creating Static Home Page on Ghost CMS
admin17/06/2023

Part 4: Creating Static Home Page on Ghost CMS
I believe that many of you are asking the question: How to fix the home page of Ghost CMS as desired? and are struggling to find many different sources of documentation.
How to secure your API gateway
admin17/04/2024

How to secure your API gateway
In this blog, I will cover the 6 methods that technology leaders need to incorporate to secure and protect APIs.
Đinh Thành Công Blog

My website, where I write blogs on a variety of topics and where I have some experiments with new technologies.

hotlinelinkedinskypezalofacebook
DMCA.com Protection Status
Góp ý
Họ & Tên
Số điện thoại
Email
Nội dung
Tải ứng dụng
hotline

copyright © 2023 - AGAPIFA

Privacy
Term
About