Let say你有兩個editable field
Field b behaviour depends on field a value
如果用useState define兩個唔同state
Field b要用useEffect listen to field a既data change 再set field b value
引起多餘既rerendering 可能會引起unintended side effect
而用useReducer可以init個大state
define唔同action 最後再set一次個state
其實useState都可以直接define object state既 不過useReducer可以define reusable action
算係會影響performance同readability既 如果有complex state建議用useReducer處理