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

176
Vistas
¿Cómo puedo separar la lógica de mapeo JSX de la matriz mapeada que contiene componentes con accesorios?

Tengo un componente que se mapea sobre una serie de componentes a los que se les han pasado accesorios, algo así:

 const Component = (prop0, prop1, prop2) => { const array = [ { id: 0, component: <SubComponent0 prop0={prop0}> }, { id: 1, component: <SubComponent1 prop1={prop1}> }, { id: 2, component: <SubComponent2 prop2={prop2}> } ]; return ( {array.map(obj => <div key={obj.id}> {obj.component} </div> )} ); }; export default Components;

Me gustaría separar la matriz en su propio archivo JS en el que importo, lo que funcionó bien para mí en otros casos en los que los componentes no involucran accesorios, pero en este caso me encuentro con el problema de que los accesorios no están definidos fuera del alcance. de este componente funcional, y no puedo entender cómo puedo importar/pasar esos accesorios al nuevo archivo JS donde coloco la matriz. ¿Es eso posible de hacer, o hay otra forma de mover la matriz a un archivo separado? Gracias.

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

0

Un enfoque para eso podría ser usar una función predeterminada que construya los datos y luego devuelva todo.

datos.js

 const getData = (prop0, prop1, prop2) => { return [ { id: 0, component: <SubComponent0 prop0={prop0}> }, { id: 1, component: <SubComponent1 prop1={prop1}> }, { id: 2, component: <SubComponent2 prop2={prop2}> } ]; } module.exports = getData;

Aplicación.js

 const getData = require('data.js'); const Component = (prop0, prop1, prop2) => { const array = getData(prop0, prop1, prop2); };
about 4 years ago · Santiago Trujillo Denunciar

0

Creo que también puede probar el componente dinámico significa el nombre del componente de String que nunca implementé, pero busco poco y preparo la solución como se muestra a continuación. Puedes probar y decirnos si funciona.

datos.js

 import { lazy } from 'react'; const getData = (props) =>{ const array = props.map((item,index) => { const DynamicComponent = lazy(() => import(`./SubComponent${index}`)); return { id : index, component : <DynamicComponent prop=`prop${item}` /> } }); return array } export default getData;

Aplicación.js

 import getData from './data.js'; const Component = (...props) => { const array = getData(props) return ( {array.map(obj => <div key={obj.id}> {obj.component} </div> )} ); }; export default Component;
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