首页 > 解决方案 > React Native 中的类型错误

问题描述

我正在学习基本的 YouTube 教程,但我遇到了一个错误:

'TypeError:传播不可迭代实例的无效尝试。为了可迭代,非数组对象必须具有 Symbol.iterator 方法。

我已经检查了多个问题和答案,但我仍然无法理解为什么它不起作用或替代解决方案。

export default function App() {

const [task, setTask] = useState();
const [taskItems, setTaskItems] = useState([]);

const handleAddTask = () => {
setTaskItems([...setTaskItems, task])
// console.log(task)
setTask(null)
}

return (
<View style={styles.container}>
  <View style={styles.tasksWrapper}>
    <Text style={styles.sectionTitle}>Today's Tasks</Text>
  

  <View style={styles.items}>
    {
      taskItems.map((item, index) => {
        return (
          <TouchableOpacity key={index}  onPress={() => handleAddTask(index)}>
            <Task text={item} /> 
          </TouchableOpacity>
        )
      })
    }
  </View>
  </View>

  <KeyboardAvoidingView 
    behavior={Platform.OS === "ios" ? "padding" : "height"}
    style={styles.writeTaskWrapper}
    >
      <TextInput style={styles.input} placeholder={'Write a task here'} value={task} onChangeText={text => setTask(text)} />
      <TouchableOpacity onPress={() => handleAddTask()} >
        <View style={styles.addWrapper}>
          <Text style={styles.addText}>+</Text>
        </View>
      </TouchableOpacity>
    </KeyboardAvoidingView>
</View>
);}

我收到错误的代码是

setTaskItems([...setTaskItems, task])

任何帮助将非常感激!谢谢

标签: javascriptreactjsreact-native

解决方案


setTaskItems([...taskItems, task])

推荐阅读