THẢO LUẬN

thg 1 20, 2021 3:13 CH

Một Github repo tổng hợp các quy tắc đặt tên cho anh em tham khảo: https://github.com/kettanaito/naming-cheatsheet#naming-cheatsheet

0

Tác giả bỏ con ngoài chợ luôn rồi

0

Nếu bạn làm qua class component thì hiểu đợn giản khi để [] thì tương đương với componentDidMount (là 1 trong các life cycle react). Nếu bạn dùng hook thì mình nghĩ nên tìm hiểu life cycle react trong class component rồi ánh xạ sang sẽ sẽ hiểu hơn. Thanks,

0

haha mà quên em xin phép lấy project của anh PR

0

xong phần 2 anh báo em đầu tiên nhé 😃))

0

Giỏi quá hix

+1

Vãi nồi giật tít =))

0

Vậy trên môi trường production thì cần cài gì để debug bạn nhỉ?

0

Viết đỉnh vl.

+1

Hóng chốt 1 con đổi đời mà không có 😦

0

Cảm ơn bạn đã truyển tải kiến thức

0

Thanks anh, hóng phần 2 quá 😆😆😆

+1
Avatar
đã bình luận cho bài viết
thg 1 20, 2021 1:55 SA

ok mình sẽ sớm cập nhật lên git

0

bài viết rất hay và dễ hiểu, mong bạn ra thêm nhiều bài nữa về js và reactjs

0
thg 1 20, 2021 1:15 SA

ồ cái này đúng nè, thanks bận

0
thg 1 19, 2021 5:52 CH

Phát biểu rằng state là imutable và readonly là đúng, nhưng mới chỉ đúng một nửa câu chuyện, và ví dụ bạn lấy là sai. Cốt lõi vấn đề đó là địa chỉ. React ko cho phép gán biến state sang địa chỉ mới mà ko thông qua hàm setState, đồng thời React nhận biết và render lại màn hình dựa vào sự thay đổi địa chỉ ấy. Nhưng vẫn có cách làm thay đổi giá trị của biến state mà ko làm thay đổi địa chỉ của biến. Sau đây là 2 practice điển hình trong thực tế:

  • Nếu state là một mảng, bạn vẫn có thể push thêm phần tử vào mảng bình thường, giá trị của nó được thay đổi ngay luôn thời điểm ấy, nhưng địa chỉ của mảng vẫn thế nên React ko biết mà render lại. Khi bạn làm cho render tiếp một lần nữa, bạn sẽ thấy những phần tử mới đã được đẩy vào mảng rồi.
  • Nếu state là một object, bạn vẫn có thể thực hiện gán giá trị mới cho thuộc tính của nó. Ví dụ: const [customerData, setCustomerData] = useState({ customerId: 1 }) ..... customerData.customerId = 2; console.log("customerId là: ", customerData.customerId); // 2 // thậm chí thêm thuộc tính mới cho state ngay và luôn cũng được customerData.customerName = "Tèo"; console.log("customerName là: ", customerData.customerName); // Tèo

Đương nhiên ko khuyến khích làm cách này, vì rất khổ cho người fix bug. Chúng ta nên làm theo luồng logic thông thường, khi nào cần gán giá trị mới thì khởi tạo hay là chế một object, một array mới rồi dùng setState mà gán. Trong trường hợp muốn gán ngay mà ko đợi vòng đời sau mới cập nhật thay đổi, bạn có thể thay bằng dùng useRef, hoặc ok dùng cách này nếu bạn biết chắc mình đang làm cái gì và có ảnh hưởng gì ko. Vì màn hình sẽ render lại mỗi khi state thay đổi, vậy nên bạn cần đặt câu hỏi lớn hơn, "Chỗ này có cần thiết phải render lại ko? Chỗ này có khiến chương trình bị render quá nhiều ko?". Từ đó bạn đưa ra quyết định.

0

showbiz có Trấn Thành nói câu nào là trending câu đó, viblo có Trực sa tank viết bài nào trending bài đó

0
Avatar
đã bình luận cho bài viết
thg 1 19, 2021 4:04 CH

Bài viết bổ ích quá, chắc bạn chịu khó tnay thì k có bạn gái đâu nhỉ

0
thg 1 19, 2021 4:02 CH

oke bạn nhé 😄

0
Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí