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

React Native选择图片时出现iter[Symbol.iterator]类型错误如何解决

问题修复方案

你遇到的[TypeError: undefined is not an object (evaluating 'iter[Symbol.iterator]')]报错,核心原因是App组件中imageUris状态初始化时未赋值,首次添加图片时展开运算符无法对undefined执行迭代操作。

修复步骤

  • 第一步:给imageUris设置初始空数组
    修改App入口文件的useState初始化逻辑:
// 原来的错误写法
const [imageUris, setImageUris] = useState();
// 修改为
const [imageUris, setImageUris] = useState([]);

注:你在ImageInputList组件中给imageUris设置的默认值[]仅作用于子组件内部渲染逻辑,App组件中操作的是自身的状态,所以仅设置子组件默认参数无法解决报错。

  • 第二步(可选优化,避免闭包导致的状态更新异常):将状态更新改为函数式写法
    修改App中的handleAdd和handleRemove方法:
const handleAdd = (uri) => {
  setImageUris(prevUris => [...prevUris, uri])
}

const handleRemove = uri => {
  setImageUris(prevUris => prevUris.filter(imageUri => imageUri !== uri))
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 03:45:04