Một số trường hợp xử lý State với lập trình viên ReactJS

Tram Ho

Đầu xuân xin chúc các bạn được nhiều sức khoẻ, làm ăn phát tài, công việc thuận lợi và gặp được nhiều may mắn nhá.

Giới thiệu

Xin chào các bạn, React là thư viện của Javascrip dễ học và phát triển, nhưng để viết mã có hiệu suất thì cần nắm rõ các hooks, xử lý functions sao cho hiệu quả. Hôm nay mình sẽ chia sẻ các bạn 1 số phương pháp, hy vọng các bạn sẽ học được gì đó mới trong này hôm nay!

1 số phương pháp

setState trong useEffect

Mình có 1 mãng users sau đó dựa vào onChange của selector để setState userID

Bây giờ muốn show tên userID được chọn thì tạo 1 state user và thì thực hiện lắng nghe sự thay đổi của userID trong useEffect để setState user

Như trên thì component sẽ render 2 lần:

  1. sau khi setUserId
  2. sau khi setSelectedUser
    Thay vì lắng nghe sự thay đổi trong userID trong useEffect thì ta tạo 1 biến để find user trong mãng users luôn

Hoặc không cần tạo biến

setState trong event

unmount hook

Trong useEffect cho phép kết xuất các functions chạy lần lượt, và khi unmount component thì cần phải clear functions để tăng hiệu suất cũng như tránh memory leak( các bạn tìm hiểu thêm giúp mình nhá ). Để thực hiện unmount thì trong useEffect thì ta thực hiện trong return của useEffect

Function removeEventListener giúp clear sự kiện click sau khi unmount component

Thay đổi state dựa vào prevState

Như dòng code trên thì mỗi lần các bạn nhấn onClick thì giá trị của log là bao nhiêu?
Và đây là kết quả
Screen Shot 2023-02-02 at 11.37.28.png
Vì khi thực hiện nhiều setState trong 1 function mà setState lại lấy count từ bên ngoài function phải đợi function đó thực hiện xong thì mới lấy được giá trị mới nhất của count. Để khắc phục điều đó thì

Và đây là kết quả
Screen Shot 2023-02-02 at 11.40.52.png

Bonus

Và dưới đây là 1 số mẹo giúp bạn clean code hơn nè:

  • đặt tên rõ ràng
  • mỗi function chỉ nên làm 1 việc
  • mỗi component thì thể hiện đúng chức năng của nó
  • comment khi cần thiết

Kết thúc

Như trên thì mình đã chia sẻ vài phương pháp giúp các bạn hiểu rõ hơn về state, quản lý và thay đổi trạng thái state. Hy vọng các bạn sẽ học hỏi được nhiều kiến thức mới và chúc một ngày tốt lành.

Chia sẻ bài viết ngay

Nguồn bài viết : Viblo