Hoa0304 / react

React, JSX, Redux, and GraphQL
1 stars 0 forks source link

react hooks #5

Open Hoa0304 opened 2 months ago

Hoa0304 commented 2 months ago
  1. React hooks là gì?
  1. Khi nào dùng hooks?
  1. Ai thích sử dụng hooks?
  1. Tại sao nên dùng hooks?
  1. Sử dụng hooks như thế nào?

    • useState()
    • useEffect()
    • useContext()
    • useReducer()
    • useSelector(), useDispatch()
    • Chia sẻ logic giữa các component với custom hooks.
    • ...
  2. ❓Có nên viết lại code life cycle thành hooks không?

Hoa0304 commented 2 months ago

useSate():

Hoa0304 commented 2 months ago
  1. Side effect là gì? Có bao nhiêu loại?
  1. Giới thiệu hook useEffect()
  1. Dùng useEffect() kèm điều kiện (#6)
  2. Dùng useEffect() không có cleanup (#6)
  3. Dùng useEffect() có cleanup (#6)
  4. Chuyển từ life cycles sang useEffect() hook (#6)
  5. 📝 Những lưu ý cần nhớ
Hoa0304 commented 2 months ago

Custom hooks 🚀

  1. Custom hooks là gì?
  1. Khi nào dùng custom hooks?

Notes📝:

Hoa0304 commented 2 months ago

useCallback() vs useMemo()

  1. useCallback() là gì?

    Là mộtreact 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ì?

    Là mộtreact 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

# useCallback() useMemo()
return memoized callback memoized value
code useCallback((type) => {}, []) useMemo(() => [{}, {}, {}], [])
  1. Có nên sử dụng useCallback() vs useMemo() hay không?