Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

113
Views
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
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!