Hola chicos, quiero preguntar sobre el cambio de Array Value cuando escribo la entrada de texto en reaccionar nativo
const [rad, setRad] = useState([ { value: 'a', status: false, title: 'ab }, { value: 'b', status: false, title: 'ac' }, { value: 'c', status: false, title: 'ad' }, ]); <TextInput numberOfLines={2} placeholder="note" onChangeText={(text) => setRad([...rad[3], { value: text }])} />pero cuando escribo aparece una pantalla de error y el mensaje 'Intento no válido de difundir una instancia no iterable. Para ser iterables, los objetos que no son de matriz deben tener un método Symbol.iterator'
¿Qué tengo que hacer?
El estado inicial es una matriz de longitud 3, es decir, con índices 0, 1 y 2, por lo que intentar propagar ...rad[3] es el código que intenta propagar el cuarto elemento, que es un valor indefinido.
Es probable que haya querido expandir la matriz de estado de rad anterior en la nueva referencia de matriz y agregar el nuevo valor de texto. Al actualizar matrices en estado React, se recomienda usar una actualización de estado funcional para garantizar la actualización desde el estado anterior y no el valor del estado cerrado en cualquier alcance de devolución de llamada/controlador.
<TextInput numberOfLines={2} placeholder="note" onChangeText={(text) => setRad(rad => [...rad, { value: text }])} />