So sánh useMemo và useCallback khác nhau gì?

Поділитися
Вставка
  • Опубліковано 21 сер 2024
  • Khi làm việc với React Hooks nhiều bạn hay nhầm lẫn khái niệm giữa useCallback và useMemo. Đừng lo lắng vì không chỉ riêng bạn mà có rất nhiều lập trình viên trong đó có mình đã phỉa mất nhiều thời gian để hiểu rõ sự khác biệt giữa chúng. Và bây giờ chúng ta sẽ cùng nhau tìm hiểu chi tiết nhé
    📚 Kiến thức trong video
    - Giới thiệu kĩ thuật Memorization trong khoa học máy tính
    - useCallback là gì? Khi nào nên sử dụng
    - useMemo là gì? Khi nào nên sử dụng
    - Cách sử dụng React.memo
    - Điểm giống và khác nhau giữa useCallback và useMemo
    🔗 Link tham khảo 🔗
    Học useCallback: • Học useCallback - Reac...
    Học useMemo: • Học useMemo - React Ho...
    React Hooks Series: • Học useState - React H...
    📢 Liên hệ với mình tại 📢
    Facebook: / holetex
    Tiktok: / holetex
    Github: github.com/hol...
    Facebook cá nhân: / minhtung09
    Email: holetex@outlook.com
    Website: holetex.com
    🤝 Tham gia làm hội viên của kênh này để được hưởng đặc quyền:
    www.youtube.co...
    #holetex #reacthooks ##reactjs #react

КОМЕНТАРІ • 35

  • @devquen7688
    @devquen7688 Рік тому +2

    công nhận càng ngày khả năng sư phạm của anh Tùng càng dễ hiểu. Từ việc tìm kiếm vd trực quan (fibonnaci) để tạo ra 1 nỗi đau thực tế, từ đó ng xem sẽ dễ nhận thấy lợi ích của nó hơn là việc chỉ nói lí thuyết 1 cách mơ hồ.
    Hi vọng tương lai anh ra khóa React (các kiến thức nâng cao) bên Udemy, nhất định em sẽ pre-order trước ^^

  • @nguyenxuanbach2672
    @nguyenxuanbach2672 Рік тому +2

    A làm hẳn 1 series bài bản từ A-Z về react đi ạ, với lại những kiến thức thực tế khi làm việc với react ạ

  • @feaz1553
    @feaz1553 Рік тому

    dài hơn 20p nhưng không hề cảm thấy lãng phí 1 phút giây nào, tuyệt vời anh ơi!

  • @cookieman.19
    @cookieman.19 Рік тому

    Cảm ơn anh Tùng, xem xong clip + đọc docs em đã nhớ luôn chứ không còn mơ hồ. Tiện thể mở project cũ upgrade bằng những kỹ thuật này luôn 💙

  • @voxuanhoa1166
    @voxuanhoa1166 Рік тому

    mỗi video đều chất lượng quá, cảm ơn anh nhiều.

  • @user-bo4jw7xc2p
    @user-bo4jw7xc2p 5 місяців тому

    Cám ơn anh, siêu hữu ích ạ

  • @ndthinh91
    @ndthinh91 Рік тому

    Hay quá. Thích quá. Dễ hiểu quá!

  • @hoanglongnguyenhuu2916
    @hoanglongnguyenhuu2916 Рік тому

    A chỉnh ánh sáng để background tối tối hơn 1 chút là đẹp đó a. Vừa làm đèn phía sau nổi lên, vừa tập trung ánh sáng vào a hơn á. Với cái tủ phía sau nhìn như đang bị nghiêng, a chỉnh camera để cạnh tủ thẳng đứng là chuyên nghiệp vip pro luôn

    • @holetex
      @holetex  Рік тому +1

      Cảm ơn góp ý của em nhiều nhé ❤️

  • @peterdo4652
    @peterdo4652 Рік тому

    Video hay, dễ hiểu. Cảm ơn nhé

  • @nghiatv3901
    @nghiatv3901 Рік тому

    Hi vọng anh ra một vài video về react + typescript ạ

  • @lcd11001
    @lcd11001 Рік тому

    cái form bạn nên dùng để render kết quả result Fibonaci luôn thì demo tối ưu hơn

  • @ucmanho1237
    @ucmanho1237 Рік тому

    dễ hiểu quá a ạ ^-^

  • @linhphan9850
    @linhphan9850 10 місяців тому +3

    Cái này đi phỏng vấn là hỏi hoài, ng ta hay hỏi UseMemo và UseCallBack khác gì nhau, với lại đi làm sẽ liên tục dùng nó.

    • @MinhDucOfficial
      @MinhDucOfficial Місяць тому

      còn hỏi thêm gì nữa không bạn

    • @BinhNguyen-sy9if
      @BinhNguyen-sy9if 11 днів тому

      @@MinhDucOfficialphân biệt 3 trường hợp depend của useEffect sẽ hoạt động như nào 😂

  • @kien278
    @kien278 Рік тому

    tuyệt vời admin ơi, nếu useMemo dùng thay thế cho useCallback đc thì dùng 1 cái thôi cho đỡ phức tạp và phải nhớ nhiều nhỉ :D

    • @SonNguyen-vh5wl
      @SonNguyen-vh5wl Рік тому +1

      không phải tự dưng lại React lại đẻ ra useMemo và useCallback đâu bạn, admin có thể nói đúng ở khía cạnh 2 hooks đó thay thế nhau trong 1 vài trường hợp nhưng 2 hook này không thể thay thế hoàn toàn cho nhau, bạn nên tìm hiểu kĩ để dùng cả 2 cho hiệu quả thì tốt hơn.

    • @holetex
      @holetex  Рік тому

      Cái này tuỳ sở thích bạn nhé. Nhưng nên làm theo hướng dẫn sử dụng, useMemo để cache giá trị còn useCallback để cache callback. Người nào mới project đọc code dũng dễ hiểu hơn nữa

  • @huanninhxuan2868
    @huanninhxuan2868 Рік тому

    Anh giải thích rất dễ hiểu. Cảm ơn anh nhiều nhiều. Khi thực hành thì em có 2 câu hỏi không giải thích được. Mong anh giải thích giúp với ạ
    1. Tại sao không sử dung React.meno() tại tất cả các component.
    2. Em viết các hàm tính toán mất thời gian ra ngoài phạm vi component thì có sao không.

    • @kakashi3966
      @kakashi3966 6 місяців тому

      1. Nếu không sử lý các expensive function thì không nên dùng nha bạn tại vì sẽ làm tốn tài nguyên
      2. không sao hết nha

  • @xanhbongcai7287
    @xanhbongcai7287 10 місяців тому

    quá hữu ích

  • @kysuhailua
    @kysuhailua Рік тому

    Tóm tắt:
    - useCALLBACK: Ghi nhớ 1 fuction ko thực thi nó, fuction này được truyền làm tham số cho component con
    - useMEMO: Ghi nhớ trả về kết quả của 1 fuction

  • @codecungnhien5840
    @codecungnhien5840 Рік тому

    những callback càng về cuối càng khó anh em ạ. Mình phải xem đi xem lại cả chục lần ở lần đầu học hooks, xong còn bị quên nữa chớ

  •  Рік тому

    Phút thứ 18:17 anh có nói là khi render lại thì nó sẽ tạo ra một vùng nhớ mới. Nếu xét trường hợp:
    const dispatch = useDispatch();
    khi em dùng useEffect bị yêu cầu truyền nó vào mảng dependency:
    useEffect( callback có dùng dispatch, [ dispatch] ).
    nếu mỗi lần render là tạo ra vùng nhớ mới, và "dispatch" cũng là kiểu tham chiếu nên lần render sau sẽ khác lần render trước thì sao callback trong useEffect chỉ chạy đúng 1 lần vậy anh.

    • @holetex
      @holetex  Рік тому

      Nếu em mở code của useDispatch lên thì em sẽ thấy nó cũng áp dụng các kĩ thuật cache để chỉ tham chiếu tới 1 vùng nhớ duy nhất em nhé.

  • @quanminh8441
    @quanminh8441 Рік тому

    woww tuyệt

  • @nghiabasil
    @nghiabasil Рік тому +1

    studio đẹp qá a ơi

  • @namtruongnguyenbui861
    @namtruongnguyenbui861 Рік тому

    Trong video, anh sử dụng extension nào mà có nhiều cái snippet hay vậy?

  • @nguyenvanthang7277
    @nguyenvanthang7277 9 місяців тому

    A dùng extension gì mà gợi ý hay thế a

  • @anhtuanle4991
    @anhtuanle4991 Рік тому +1

    Trong thực tế thì có sử dụng hook này nhiều không anh ?

    • @holetex
      @holetex  Рік тому +1

      Trong thực tế xài nhiều em nhé. Nhưng như anh nói 2 hooks này để tối ưu hiệu năng nên khi project phải lớn đến 1 mức nhất định và cần tối ưu về performance thì mới cần áp dụng nhiều

  • @TranQuocatPH
    @TranQuocatPH Рік тому

    Anh ơi anh Sơn Đặng có nói là mình chỉ dùng useCallback khi React.memo không giải quyết được vấn đề là không render lại componnet con đúng không anh . còn nếu trong component cha mà không có component con thì mình không cần dùng vì nó cũng thừa thãi đúng không anh . mong anh giải đáp thắc măc ạ

    • @tuankietngo650
      @tuankietngo650 11 місяців тому

      Đr componet không có quan hệ vs nhau thì dùng làm gì