Estoy usando React Native Material y me gustaría usar "cargar" cuando se hace clic en un botón. Cuando no se hace clic en el botón, solo debe mostrar el botón. ¿También es posible cuando se muestra la carga, desaparecerá después de 5 segundos o cuando navego a una página diferente?
Intenté usar una declaración if cuando se hace clic en onPress para mostrar la carga, pero esto muestra un error.
https://www.react-native-material.com/docs/components/button
Código:
<Button title="Submit Answers" onPress={CalculateTotal} loading />Cree una variable de estado para cargar y configúrela como falsa. De modo que cada vez que navegue al componente desde otra página, eso deshabilitará loading.set cargando verdadero al hacer clic en el botón y agregará un tiempo de espera para deshabilitarlo.
const [loading, setLoading] = useState(false); const CalculateTotal =()=>{ setLoading(true); setTimeout(()=>{ setLoading(false); },5000) } <Button title="Submit Answers" onPress={CalculateTotal} loading={loading} />Debe crear un estado de carga y cambiar ese estado de acuerdo con la presión del botón, por ejemplo:
const [loading, setLoading] = useState(true); return ( <Button onPress={() => setLoading(!loading)} title="Submit Answers" onPress={CalculateTotal} loading={loading} /> )