Tengo problemas para pasar el estado de un componente a la pantalla principal en react-native
por ejemplo
Pantalla principal.js
const MainScreen = () => { return ( <> <AdButton/> <Text>{adCreated}</Text> </> ) }AdButton.js
const [adCreated, createAd] = useState(false); const adButton = () => { createAd(true); } const AdButton = () => { return ( <TouchableOpacity onPress={adButton}>Create an Ad</TouchableOpacity> ) } ¿Cómo puedo hacer que el estado de adCreated se muestre como true en MainScreen cuando el estado cambia en el componente AdButton?
Gracias,
Arnav
Para hacerlo, debe elevar el estado. Si su caso de uso no incluye un mapeo de estos elementos, simplemente declare el estado en el componente principal y páselo como apoyo a los niños.
Editar:
const MainScreen = () => { const [adCreated, createdAd] = useState(false); return ( <> <AdButton createdAd={createdAd}/> <Text>{adCreated}</Text> </> ) } const AdButton = ({createdAd}) => { return ( <TouchableOpacity onPress={createdAd((prev) => !prev)}>Create an Ad</TouchableOpacity> ) }Según su solicitud, puede seguir este tipo de comportamiento cuando intente lograr esto.