useEffect() được sử dụng thế nào trong ReactHooks

NamDev

Guest
Nếu bạn thực sự cần làm việc với useEffect, bài viết này sẽ có thể hỗ trợ bạn một phần trong việc tìm hiểu. Tuy nhiên, nếu bạn chưa từng tiếp xúc với useEffect hay React bao giờ, bạn sẽ “mất sức” khá nhiều để hiểu hết những gì mà Tino Group chia sẻ dưới đây!

Để làm quen được với useEffect và Hooks nói chung, bạn sẽ cần phải tốn rất nhiều thời gian và công sức để tìm hiểu. Bài viết chỉ giải đáp một phần và không thể bao quát hết nội dung của useEffect nói riêng hay Hooks nói chung.

Hooks là gì?
Hooks là một tính năng mới được công bố và thêm vào từ phiên bản React 16.8. Với Hooks, bạn có thể sử dụng state và rất nhiều tính năng khác của React mà không cần phải thực hiện việc viết class như truyền thống.

Và useEffect chính là một Hook trong những Hooks được công bố.

Một vài công bố của nhà phát triển React về Hooks và tương lai:

  • Nếu bạn vẫn thích sử dụng class, bạn vẫn có thể tiếp tục sử dụng.
  • Hooks không làm thay đổi bất cứ điều gì trong ứng dụng của bạn
  • Hooks tương thích 100% với các phiên bản ứng dụng cũ
Bạn có thể tìm hiểu thêm về Hooks trong tài liệu chính thức của React.

useeffect-la-gi

useEffect là gì?
Trước đây, nếu sử dụng class component trong viết code React thì giờ đây, bạn có thể sử dụng useEffect để quản lý vòng đời component trong functional component thay thế cho Life Cycle:

  • componentDidMount
  • componentDidUpdate
  • componentWillUnmount
useEffect sẽ giúp bạn xử lý các logic trong vòng đời của component và được gọi khi component có sự thay đổi. Ngoài ra, chúng ta sẽ có useState sẽ sử dụng state trong functional components.

Triển khai useEffect trong React
Tìm nạp dữ liệu, thiết lập đăng ký hay thay đổi các thành phần DOM trong React đều là những ví dụ về “tác dụng” hay side effect hoặc ngắn gọn hơn là effect.

Có 2 loại side effect chính là:

  • Effects không cần Cleanup
  • Effects cần phải Cleanup
Để hiểu hơn về useEffect cũng như 2 side effect của useEffect, chúng ta sẽ tìm hiểu rõ hơn ở phần triển khai thử nghiệm useEffect trong React nhé!
 
Bên trên