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

React Native出现TypeError: 尝试展开非可迭代实例报错问题求助

问题原因
  • 你在扩展运算中错误使用了状态更新函数 setTaskItems 而非状态值本身:setTaskItems 是用来更新 taskItems 状态的函数,不属于数组/可迭代对象,对它使用扩展运算符...自然会触发「非可迭代实例无法展开」的报错。
  • 触发错误的行 setTaskItems([...setTaskItems, task]) 中,你实际需要展开的是存储任务列表的状态变量 taskItems,而非它的更新函数。
修复方案

直接修复

把扩展的对象替换为状态变量即可,修改后的代码为:

setTaskItems([...taskItems, task])

优化方案

因为新状态依赖旧状态的值,推荐使用函数式更新,避免因闭包导致的状态更新异常,写法更稳妥:

setTaskItems(prevItems => [...prevItems, task])
额外潜在问题提示

你代码中渲染任务项的TouchableOpacity绑定的onPress事件调用了handleAddTask(index),但当前handleAddTask没有接收参数的逻辑,如果你是想实现点击删除任务的功能,需要单独编写对应的处理函数,避免错误触发新增任务的逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 12:24:05