Hoy traté de cambiar los valores dentro de una matriz usando el estado. Así que tengo una matriz simple como:
const [data, setData] = React.useState([ { label: "data 1", }, { label: "data 2", }, ]);Además, no sé si es una buena idea usar una matriz en el estado. También creé un botón y un componente de texto.
<View style={{ justifyContent: "flex-start", top: 50 }}> <Button title={"test"} onPress={() => { data[0].label = "fdsfsd"; setData(data); }} /> <Text>{data[0].label}</Text> </View> Entonces mi idea es cuando hago clic en el botón para cambiar data[0].label . Pero por desgracia no es el cambio? ¿Por qué?
Cambia tu onPress a esto
onPress={() => { let temp = [...data]; temp[0].label = 'asdasdasdasd'; setData(temp); }}Ejemplo de trabajo aquí
Lea más sobre actualizaciones de estado, enfoques inmutables, etc. aquí: https://www.freecodecamp.org/news/handling-state-in-react-four-immutable-approaches-to-consider-d1f5c00249d5/
Puedes probar esto, funcionará
<View style={{ justifyContent: "flex-start", top: 50 }}> <Button title={"test"} onPress={() => { data[0].label = "fdsfsd"; }} /> <Text>{data[0].label}</Text> </View>