Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

338
Vistas
Cómo llamar a la función desde el archivo App.js dentro de la carpeta pública en React JS

Me gustaría llamar a una función que se define dentro de src/App.js (callMe) desde la carpeta pública,

En App.js

 import messaging from './firebase-init'; import './App.css'; function App () { function callMe() { console.log('Call me function called'); } return ( <div className="App"> <h1>Hello World</h1> </div> ); } export default App;

Y tengo otro archivo firebase-messaging-sw.js ubicado dentro de la carpeta pública,

En firebase-messaging-sw.js

 importScripts('https://www.gstatic.com/firebasejs/8.10.0/firebase-app.js'); importScripts('https://www.gstatic.com/firebasejs/8.10.0/firebase-messaging.js'); self.addEventListener('notificationclick', function (event) { console.log('On notification click: ', event); event.notification.close(); event.waitUntil(clients.matchAll({ includeUncontrolled: true, type: "window", }).then(function (clientList) { console.log('********* clientList: ', clientList); for (var i = 0; i < clientList.length; i++) { var client = clientList[i]; if (client.url !== '' && 'focus' in client) { client.focus(); callMe(); // This function is defined in src/App.js break; } } })); }); const firebaseConfig = { apiKey: "API_KEY", authDomain: "AUTH_DOMAIN", projectId: "PROJECT_ID", storageBucket: "STORAGE_BUCKET", messagingSenderId: "SENDER_ID", appId: "APP_ID", measurementId: "MEASUREMENT_ID" }; // Initialize Firebase const initializedFirebaseApp = firebase.initializeApp(firebaseConfig); const messaging = firebase.messaging();

¿Puede ayudarme, por favor, cómo debo llamar a la función callMe() ?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Puede intentar usar postMessage window.postMessage spec

simplemente envíe un mensaje en su archivo .js

 window.postMessage('someFunctionId','*')

y luego, en reaccionar, puede agregar eventListener para este mensaje (la mejor solución es useEffect y no olvide eliminarListener en la devolución de llamada)

 useEffect(()=>{ window.addEventListener("message",handlerFunc); return ()=> window.removeEventListener("message",handlerFunc); }

y encuentre su handlerFunc , puede verificar si el mensaje es el mismo que su ID que publicó ...

incluso puede pasar un objeto en lugar de una cadena para pasar algunos parámetros para su función

 window.postMessage({id:'someFunctionId',data:'test'},'*');
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda