useState phù hợp cho state đơn giản (boolean, string, number). useReducer cho state phức tạp có nhiều sub-values hoặc khi next state phụ thuộc previous state.
useReducer hay dùng cho form phức tạp, wizard multi-step, hoặc khi state logic cần tách riêng để test.
useState is suited for simple state (boolean, string, number). useReducer is better for complex state with multiple sub-values, or when the next state depends on the previous one. useReducer is commonly used for complex forms, multi-step wizards, or when state logic needs to be isolated for testing.