Theo mình trường hợp này nó render 2 lần, vì data posts thay đổi từ [] sang array khác, loading thay đổi từ true sang false.
Nếu gọi các hàm setter của useState trong synchronous function thì React sẽ gom lại và chỉ update 1 lần => gọi là batch update. Còn ở đây là trong async function nên nó render 2 lần.
Ở đây 2 state loading và posts phụ thuộc vào nhau, tốt hơn là gộp vào 1 object state hoặc dùng useReducer
If you update a State Hook to the same value as the current state, React will bail out without rendering the children or firing effects. (React uses the Object.is comparison algorithm.)
=> Điều này có nghĩa là setState() sẽ re-render nếu thay đổi 1 giá trị hợp lệ khác null
=> Với useState trong hooks nếu setter cùng trạng thái thì sẽ không re-render lại,Trường hợp bạn hỏi là TH cùng trạng thái nên n sẽ re-render 1 lần
Mỗi khi nghe có thêm một framework JS nữa mới ra lại thấy mệt mỏi, Deno giải quyết được các vấn đề còn tồn tại của Node.js, vậy tại sao không giải quyết luôn trong Node.
Bạn có thể viết kỹ hơn được không? mình đang không hiểu lắm:
.map gửi 3 arguments vào trong hàm parseInt trên mỗi record
Cái này nghĩa là sao? Mình hiểu là lúc chạy ['1', '7', '11'].map(parseInt) thì JS sẽ dịch là parseInt('1', '7', '11'), tuy nhiên nghe có vẻ không đúng với phần còn lại lắm? Ngoài ra, đọc giải thích của bạn mình cũng hiểu kiểu khác: khi sử dụng parseInt thì ngoài giá trị trong mảng ra thì .map còn gửi giá trị index của phần tử đó vào param radix, tuy nhiên nghe vậy cũng không hợp lý lắm (^^;)
THẢO LUẬN
What do you mean?
Làm thế nào để setup VS code auto run command "zsh" khi start nhỉ bro. Thanks bro
Làm thế nào để setup VS code auto run command "zsh" khi start nhỉ bro. Thanks bro
Để đưa file code đã biên dịch lên server như nào vậy bạn. Và server đó như nào
Theo mình trường hợp này nó render 2 lần, vì data posts thay đổi từ
[]sang array khác, loading thay đổi từ true sang false.Nếu gọi các hàm setter của useState trong synchronous function thì React sẽ gom lại và chỉ update 1 lần => gọi là batch update. Còn ở đây là trong async function nên nó render 2 lần.
Ở đây 2 state loading và posts phụ thuộc vào nhau, tốt hơn là gộp vào 1 object state hoặc dùng
useReducerTham khảo https://hackernoon.com/adventuring-into-react-hooks-performance-practices-rly36xq
https://blog.logrocket.com/simplifying-state-management-in-react-apps-with-batched-updates/
Class Components https://reactjs.org/docs/react-component.html#setstate
setState() will always lead to a re-render unless shouldComponentUpdate() returns false.Hooks (Function Components)
Nếu gọi 2 lần như thế này
Thì nó giống như bạn gọi
this.setState2 lần à bạn? Như vậy React sẽ trigger render 2 lần đúng khôngMình muốn góp ý thêm là nên check ngày nhuận 29/2 nếu trong bài test có thời gian rơi vào năm nhuận
Mỗi khi nghe có thêm một framework JS nữa mới ra lại thấy mệt mỏi, Deno giải quyết được các vấn đề còn tồn tại của Node.js, vậy tại sao không giải quyết luôn trong Node.
Bạn có thể lấy mã 422 để bắt xử lý tại AJAX thông qua error.status
Ừ thì update đi. Có thấy update éo đâu =))
bài viết tuyệt vời, btw cho mình xin cái áo với
Bạn có thể viết kỹ hơn được không? mình đang không hiểu lắm:
Cái này nghĩa là sao? Mình hiểu là lúc chạy
['1', '7', '11'].map(parseInt)thì JS sẽ dịch làparseInt('1', '7', '11'), tuy nhiên nghe có vẻ không đúng với phần còn lại lắm? Ngoài ra, đọc giải thích của bạn mình cũng hiểu kiểu khác: khi sử dụngparseIntthì ngoài giá trị trong mảng ra thì.mapcòn gửi giá trị index của phần tử đó vào param radix, tuy nhiên nghe vậy cũng không hợp lý lắm (^^;)Bước 3.8 Dòng 29 nếu để component <ListItem/> vào sẽ bị lỗi ở bước tiếp theo. khách khắc phục là copy toàn bộ JSX của componet <ListItem/> bỏ vào dòng 29 mình tham khảo lại bài viết này https://kentrung256.blogspot.com/2018/03/reactjs-co-ban-b3-phan-chia-component.html thì chạy OK!
Draw.io e nha. Online free
Anh cho em hỏi anh đang dùng phần mềm gì để vẽ diagram vậy
Bài viết hay quá. Làm mấy junior như em hơi chột dạ
Bài viết rất bổ ích. Cảm ơn bạn rất nhiều.
Thời điểm này ở Việt Nam mà tác giả còn đưa CakePHP vào là "không chịu cập nhật rồi". Đáng lẽ ra phải là Laravel.
Bài viết hay quá bác. Học thêm được mấy tip