Tengo una función para configurar notificaciones push que debe llamarse una vez después de que el usuario inicie sesión. Esto tiene que estar fuera de useEffect porque la documentación lo dice.
Intenté llamarlo en el componente que viene después de que el usuario inicia sesión, pero la función se llama 3 veces después de que la aplicación se abre desde el estado desactivado. ¿Hay alguna forma de limitar esta llamada a una sola?
Aquí está el código hasta ahora:
const HomeScreen: FC<Props> = ({navigation}) => { setupPushNotifications(); return ( <SafeAreaView style={homeStyles.wrapper}> <Header navigation={navigation} /> <View style={homeStyles.container}> ... ...Una forma de hacerlo habría sido usar el constructor en las clases de reacción, pero toda la aplicación está escrita en ES6 y depende demasiado de los ganchos.
¿Hay alguna otra manera en que pueda hacer que esto funcione?
Puede llamar a esto en su archivo principal index.js en el directorio raíz de su proyecto
import {AppRegistry} from 'react-native'; import App from './App'; import {name as appName} from './app.json'; setupPushNotifications(); AppRegistry.registerComponent(appName, () => App);Pero usted dijo que desea llamarlo solo si el usuario inició sesión y luego en el mismo archivo donde colocó setupPushNotifications, simplemente actualice la posición y muévalo fuera del bloque de clase lateral.
setupPushNotifications(); const HomeScreen: FC<Props> = ({navigation}) => { ... }