Object dependencies tạo infinite loop vì mỗi render tạo object literal mới có reference khác, React compare by reference không phải by value.
- Giải pháp: destructure primitive values từ object làm deps
[obj.id, obj.name], dùng useMemo để memoize object, hoặc dùng useRef để lưu object. - Tương tự với array và function dependencies.
Object dependencies cause infinite loops because every render creates a new object literal with a different reference, and React compares by reference not by value.
- Solutions: destructure primitive values from the object and use those as deps
[obj.id, obj.name], memoize the object with useMemo, or store it in a useRef. - The same issue applies to array and function dependencies.