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

100
Vistas
¿Cómo puedo exportar una función sin pasarla como accesorios o usar la palabra clave de exportación?

tengo un componente asi

 const ListOfMeds = () => { const mockListOfMedicines = [ { medicineName: "Augmentin 625 Duo Tablet", medicineId: "D06ID232435454", groupName: "Generic Medicine", stock: 350, }, { medicineName: "Augmentin 625 Duo Tablet", medicineId: "D06ID232435454", groupName: "Generic Medicine", stock: 350, }, ]; const getSpecificMedicineWithId = (number) => { const filteredData = mockListOfMedicines.find((medicine) => { return medicine.medicineId === number; }); return filteredData; }; return{ <Some stuff/> } }; export default ListOfMeds;

ahora tengo otro componente como este

 import React from "react"; import { useParams } from "react-router-dom"; const MedicineInfo = () => { let params = useParams(); return <div>MedicineId: {params.medicineId}</div>; }; export default MedicineInfo;

Quiero que el segundo componente llame a la función getSpecificMedicineWithId en el primer componente que pasa la clave de objetos params como argumento. Sin embargo, el segundo componente no es un elemento secundario del primer componente, por lo que no puedo pasar esa función como accesorio. Tampoco puedo usar el contexto por la misma razón. No es su hijo.

Si utilizo exportar en el primer componente obtengo los errores

 Modifiers cannot appear here.

y

 'import' and 'export' may only appear at the top level. (58:2)

No puedo sacar la función getSpecificMedicineWithId de su componente para exportarla porque depende de los datos dentro del componente para funcionar, es decir, la matriz mockListOfMedicines .

Ahora estoy atascado, no sé cómo hacerlo. Amablemente ayuda.

about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Para lograr esto, debe declarar y exportar la función fuera del componente. Debido a que sus datos están fijos aquí, puede tener la función en cualquier lugar que desee. (Tal vez debería ponerlo en un archivo de ayuda para una mayor limpieza).

 // ListOfMeds.jsx export const getSpecificMedicineWithId = (number) => { const mockListOfMedicines = [ { medicineName: "Augmentin 625 Duo Tablet", medicineId: "D06ID232435454", groupName: "Generic Medicine", stock: 350, }, { medicineName: "Augmentin 625 Duo Tablet", medicineId: "D06ID232435454", groupName: "Generic Medicine", stock: 350, }, ]; const filteredData = mockListOfMedicines.find((medicine) => { return medicine.medicineId === number; }); return filteredData; }; const ListOfMeds = () => { return <Some stuff /> }; export default ListOfMeds;
 // MedicineInfo.jsx import React from "react"; import { useParams } from "react-router-dom"; import { getSpecificMedicineWithId } from "./ListOfMeds"; const MedicineInfo = () => { let params = useParams(); const medicine = getSpecificMedicineWithId(parrams.medicineId); return <div>MedicineId: {params.medicineId}</div>; }; export default MedicineInfo;
about 4 years ago · Santiago Trujillo 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