Estoy siguiendo un tutorial básico de YouTube y al seguirlo recibo un error:
'Error de tipo: intento no válido de difundir una instancia no iterable. Para ser iterables, los objetos que no son matrices deben tener un método Symbol.iterator.'
Revisé varias preguntas y respuestas, pero todavía no puedo entender por qué no funciona o una solución alternativa.
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> );}El código con el que obtengo el error es
setTaskItems([...setTaskItems, task])¡Cualquier ayuda sería realmente apreciada! Gracias
setTaskItems([...taskItems, task])
No puede difundir una función y setTaskItems es una función que establece el estado de los elementos de tarea. Trata de hacerlo
setTaskItems([...taskItems, task])que creo que es lo que desea lograr, agregar la tarea a la matriz taskItems existente.