You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Redux的useSelector时出现TypeError:对象不可迭代

解决Redux useSelector对象不可迭代错误

错误原因

你在使用useSelector获取state.user时,用了数组解构([]),但state.user是对象类型。数组解构要求右侧是可迭代的(比如数组),对象不具备这种特性,因此触发了TypeError: Object is not iterable错误。

修复代码

改用对象解构来匹配state.user里的属性,因为对象解构是通过属性名取值,而非顺序:

const [username, setUsername] = useState("");
const [password, setPassword] = useState("");
const dispatch = useDispatch();
// 替换数组解构为对象解构
const { isFetching, error } = useSelector((state) => state.user);

const handleClick = (e) => {
  e.preventDefault();
  login(dispatch, { username, password });
};

也可以分开单独获取每个属性:

const isFetching = useSelector((state) => state.user.isFetching);
const error = useSelector((state) => state.user.error);

内容的提问来源于stack exchange,提问作者Suleyman Eminbeyli

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 12:50:25