3.1 用reducer来管理复杂状态