React Lifecycle & Hooks Cơ Bản

0 0 0

Người đăng: Thanh Hung

Theo Viblo Asia

React cung cấp các phương thức lifecycle và hooks để quản lý các giai đoạn khác nhau trong vòng đời của component. Việc hiểu rõ các phương thức này giúp bạn có thể tối ưu hóa ứng dụng React của mình.

Lifecycle Methods trong Class Components

React class components có một số lifecycle methods (phương thức vòng đời) cho phép bạn quản lý hành vi của component trong suốt quá trình từ khi được tạo cho đến khi bị xóa. Dưới đây là các phương thức lifecycle quan trọng:

componentDidMount

Được gọi ngay sau khi component đã được render lần đầu tiên, thích hợp để gọi API hoặc thực hiện các tác vụ phụ thuộc vào DOM.

class MyComponent extends React.Component { componentDidMount() { console.log("Component đã được render lần đầu tiên!"); } render() { return <div>Content</div>; }
}

componentDidUpdate

Được gọi mỗi khi state hoặc props thay đổi, sau khi component render lại. Thường dùng để thực hiện các cập nhật sau khi có sự thay đổi.

class MyComponent extends React.Component { componentDidUpdate(prevProps, prevState) { if (prevState.value !== this.state.value) { console.log("State đã thay đổi!"); } } render() { return <div>Content</div>; }
}

componentWillUnmount

Được gọi trước khi component bị xóa khỏi DOM. Thường dùng để dọn dẹp các công việc như hủy bỏ các subscription hoặc các tác vụ bất đồng bộ.

class MyComponent extends React.Component { componentWillUnmount() { console.log("Component sẽ bị xóa!"); } render() { return <div>Content</div>; }
}

Hooks trong Functional Components

Kể từ React 16.8, React đã giới thiệu hooks, cho phép sử dụng state và các lifecycle methods trong các functional components. Các hooks phổ biến bao gồm useState, useEffect, và nhiều hook khác.

useState

useState là hook dùng để khai báo và quản lý state trong functional component. Nó trả về một mảng gồm giá trị state và hàm cập nhật giá trị state.

import React, { useState } from 'react'; function Counter() { const [count, setCount] = useState(0); return ( <div> <p>{count}</p> <button onClick={() => setCount(count + 1)}>Tăng</button> </div> );
}

useEffect

useEffect là hook dùng để thay thế các lifecycle methods như componentDidMount, componentDidUpdate, và componentWillUnmount. useEffect sẽ được gọi sau khi component render.

import React, { useState, useEffect } from 'react'; function Timer() { const [time, setTime] = useState(0); useEffect(() => { const intervalId = setInterval(() => { setTime(prevTime => prevTime + 1); }, 1000); return () => clearInterval(intervalId); }, []); return <p>Time: {time}</p>;
}

useContext

useContext là hook giúp bạn dễ dàng truy cập vào giá trị context mà không cần phải sử dụng Context.Consumer.

import React, { useContext } from 'react'; const ThemeContext = React.createContext("light"); function ThemedComponent() { const theme = useContext(ThemeContext); return <div>Current theme: {theme}</div>;
}

🔚 Kết luận

  • Lifecycle Methods trong class components giúp bạn quản lý hành vi của component qua các giai đoạn vòng đời, như khi component được mount, cập nhật, hoặc unmount.
  • Hooks cung cấp một cách tiếp cận mới mẻ và mạnh mẽ để làm việc với state và lifecycle methods trong functional components. Điều này giúp code dễ đọc và dễ duy trì hơn.
  • useStateuseEffect là hai hook cơ bản nhưng rất mạnh mẽ, giúp bạn dễ dàng quản lý trạng thái và các side effects trong ứng dụng.

Bình luận

Bài viết tương tự

- vừa được xem lúc

[Frontend] 1 số note cơ bản về React Hook

Đây là 1 số note cơ bản về Reactjs Hook mình đang học, những kiến thức cản bản thui nhưng hy vọng sẽ giúp ích gì đó cho mọi người. Có gì mới thì mình sẽ update vào bài này luôn, có những chỗ sai sót ý

0 0 148

- vừa được xem lúc

Những điều cần lưu ý và sử dụng Hook trong React (Phần 5)

V. Sử dụng useRef như thế nào cho đúng.

0 0 144

- vừa được xem lúc

Sổ tay React Hooks cho mọi người?

Hế lô các bạn,. Lại là mình đây, dạo này code React nhiều quá đâm ra mình muốn viết 1 bài nào đó về React Thế mà nghĩ đi nghĩ lại, mình vấn quyết định viết về Hooks.

0 0 205

- vừa được xem lúc

ReactJS: So sánh cách viết logic để sử dụng lại giữa HOCs vs. Render Props vs. Hooks

Trong React, chúng ta có thể sử dụng Higher-Order Components và Render Props để viết một số logic và sử dụng lại cho nhiều component khác nhau. Thật lý tưởng nếu bạn viết mới tất cả component của bạn

0 0 49

- vừa được xem lúc

6 trường hợp sử dụng của useEffect() trong React

Hello anh em, chắc khi làm việc với ReactJs thì chúng ta cũng đã làm quen với việc sử dụng các hooks của nó rồi phải không, vậy thì hôm nay mình sẽ cùng anh em biết và đã biết tìm hiểu lại một chút về

0 0 199

- vừa được xem lúc

Tôi học Reactjs như thế nào phần 1 ? Làm mini-app Todo list

Chào các bạn mình là Kiệt , nếu các bạn thấy được bài viết này , thì cảm ơn bạn vì đã tốn thời gian để đọc bài viết này của mình. .

0 0 32