Soy nuevo en el desarrollo de aplicaciones. Como se ve a continuación, cuando "valor" es falso, quiero que se represente el componente "Prueba" y que el estado de carga sea falso. Pero cuando hago lo que se indica en los códigos a continuación, aparece el error que se muestra en la imagen a continuación. ¿Cómo configuro el estado en falso sin obtener un error cuando este componente de prueba se representa en la página?
import React, { useState } from 'react' import { Text, View } from 'react-native' const WordPage = () => { let value = false const [loading, setLoading] = useState(false) const Test = () => { setLoading(false) return ( <Text>OFFLINE</Text> ) } return ( <View> {value ? <Text>ONLINE</Text> : <Test /> } </View> ) } export default WordPageDeberías usar el gancho useEffect para esto. useEffect se usa para ejecutar efectos secundarios y se ejecuta después de que el componente se haya renderizado.
Además, no necesita este componente adicional. Simplemente puede usar el gancho useEffect en su componente principal.
Puede pasar una devolución de llamada como accesorio y llamarla una vez que se represente el componente de prueba.
import React, { useEffect, useState } from "react"; import { Text, View } from 'react-native' const Test = ({ onRendered }) => { useEffect(onRendered, []); return <Text>OFFLINE</Text>; }; const WordPage = () => { let value = false; const [loading, setLoading] = useState(false); return ( <View> {value ? ( <Text>ONLINE</Text> ) : ( <Test onRendered={() => { setLoading(false); }} /> )} </div> ); }; export default WordPage;