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

120
Vistas
Cree un componente que repita un componente pasado onClick o onSubmit

Tengo un componente que representa el objeto "react-icons". Sin embargo, en algunas situaciones solo quiero pasar texto en lugar de un ícono a este componente.

El componente A es como tal.

Icon.js, componente A

 import React from 'react'; import { FaHeart} from "react-icons/fa"; const Icon = ({FaIcon = Faheart}) => { return ( <div> {typeof FaIcon === 'string' ? FaIcon : <FaIcon/>} </div> ); }; export default Icon;

Quiero crear otro componente B , que creará un contenedor y repetirá el componente A si se hace clic. No quiero poner el controlador onClick en el componente A , sino en el componente B.

RepeatsonClick.js, componente B

Esto puede parecer un código extraño, pero es algo que traté de implementar. Pero, si hay algo corto y elegante, eso debería estar bien. Pero, estoy buscando una solución basada en funciones.

 import React from 'react'; import Icon from './components/icons/icon'; const RepeatsOnClick extends React.Component { const [isExit, setIsExit] = useState(false); const [count, setCount] = useState([1]); const addNewIcon = () => { if (!isExit) { const lastCount = count[count.length - 1] + 1; setCount([...count, lastCount]); } }; handleClick(event) { event.preventDefault(); this.setState({ values: { ...this.state.values, [Object.keys(this.state.values).length]: '' } }); } return( <div className="container" onClick= handleClick> <div> {count.map((key) => ( <Icon FaIcon/> ))} // OR <Icon FaIcon key={key} addNewTextArea={addNewTextArea} /> </div> <button onClick={() => setIsExit(!isExit)}> {isExit ? "Restart" : "Stop"} </button> </div> ) } } export default RepeatsOnClick;

El componente Icon devuelve "Icono del corazón", es decir, ♥️.

Cuando el componente B, es decir, RepeatsOnClick , lo envuelve, quiero que genere otro icono de corazón y así sucesivamente hasta que se detenga. ♥️♥️♥️...

Lo que he probado con el componente B no funciona.

¿Cómo resolvemos esto?

about 4 years ago · Juan Pablo Isaza
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