UseCallback và UseMemo?

1. UseCallback() là gì? Khái niệm: Là một react hooks giúp mình tạo ra một memoized callback và chỉ tạo ra callback mới khi dependencies thay đổi. Nhận vào 2 tham số: 1 là function, 2 là dependencies. Return memoized callback. Chỉ tạo ra function mới khi dependencies thay đổi. Nếu dùng empty dependencies thì

1. UseCallback() là gì?

Khái niệm: Là một react hooks giúp mình tạo ra một memoized callback và chỉ tạo ra callback mới khi
dependencies thay đổi.

  • Nhận vào 2 tham số: 1 là function, 2 là dependencies.
  • Return memoized callback.
  • Chỉ tạo ra function mới khi dependencies thay đổi.
  • Nếu dùng empty dependencies thì không bao giờ tạo ra function mới.

2. UseMemo() là gì?

Khái niệm: Là một react hooks giúp mình tạo ra một memoized value và chỉ tính toán ra value mới khi
dependencies thay đổi.

  • Nhận vào 2 tham số: 1 là function, 2 là dependencies.
  • Return memoized value
  • Chỉ tính toán value mới khi dependencies thay đổi.
  • Nếu dùng empty dependencies thì không bao giờ tính toán lại value mới.

3. So sánh useCallback() vs useMemo().

Giống nhau:

  • Đều áp dụng kĩ thuật memoization.
  • Đều nhận vào 2 tham số: function và dependencies.
  • Đều là react hooks, dùng cho functional component.
  • Dùng để hạn chế những lần re-render dư thừa (micro improvements).
  • KHÁC NHAU

4. Có nên sử dụng useCallback() vs useMemo() hay không?

  • Không nên dùng cho tất cả components.
  • Nên dùng cho: đồ thị, biểu đồ, animations, những component nặng phần render.
  • Chỉ là micro improvements.

EX: https://codesandbox.io/s/bitter-platform-sklqi?file=/src/App.js

Nguồn tham khảo: https://www.ezfrontend.com/

Nguồn: viblo.asia

Bài viết liên quan

WebP là gì? Hướng dẫn cách để chuyển hình ảnh jpg, png qua webp

WebP là gì? WebP là một định dạng ảnh hiện đại, được phát triển bởi Google

Điểm khác biệt giữa IPv4 và IPv6 là gì?

IPv4 và IPv6 là hai phiên bản của hệ thống địa chỉ Giao thức Internet (IP). IP l

Check nameservers của tên miền xem website trỏ đúng chưa

Tìm hiểu cách check nameservers của tên miền để xác định tên miền đó đang dùn

Mình đang dùng Google Domains để check tên miền hàng ngày

Từ khi thông báo dịch vụ Google Domains bỏ mác Beta, mình mới để ý và bắt đầ