State Management · Middle · Question 23 of 75
How does set in Zustand handle nested objects?
set({ user: { name: "Ann" } }); // state was { user: { name, email }, theme }- ✓Correct answer: It merges only one level deep:
themestays, butuser.emailis lost - 2It deep-merges everything, so
user.emailstays - 3It replaces the whole state, losing
theme
Explanation
set does a shallow merge of the top level. For nested updates spread explicitly: set((s) => ({ user: { ...s.user, name: 'Ann' } })), or use the immer middleware.