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

202
Vistas
¿Cómo agregar un accesorio a un componente secundario que ya recibe accesorios a través del operador de propagación?

No estoy seguro de si se trata de un problema de TypeScript, o si es más una pregunta sobre el comportamiento de los accesorios de React, o si simplemente soy yo quien estropea la desestructuración de ES6.

Tengo un ParentComponent cuyos accesorios son de tipo ParentProps y un ChildComponent que también tiene el mismo tipo. ChildComponent consume los mismos accesorios, excepto UN accesorio que ahora necesito redefinir (o si eso no es posible, agregar uno nuevo).

Para este ejemplo, digamos que ParentProps es solo buttonName: string y doSomething: (text: string) => void

Pensé que podría agregarle a un objeto la desestructuración extendiendo un objeto, luego agregando propiedad: valor después de una coma, es decir: {...props, additionalProp: doSomething} Pero eso no parece funcionar: Left side of comma operator is unused and has no side effects. ¿Alguien puede intervenir sobre cuál es mi problema aquí y qué estoy haciendo mal?

 const ParentComponent: FC<ParentProps> = memo(function ParentComponent({ ...props }) { function doSomething(text) { console.log("did the thing", text) } return <ChildComponent {...props, doSomething: doSomething} /> // <----here's the problem }) export function ChildComponent(props: ParentProps) { return ( <button onClick={props.doSomething(props.buttonName)}>{props.buttonName}</button> ) }
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

...o si simplemente soy yo quien estropea la desestructuración de ES6.

 return <ChildComponent {...props} doSomething={doSomething} /> // do this

Tienes que desestructurar un objeto (o matriz). Estaba confundiendo los corchetes de propiedad JSX con los corchetes utilizados para declarar un objeto.

El ejemplo anterior también sobrescribirá una propiedad potencialmente existente props.doSomething . React-props sobrescribirá los accesorios definidos previamente. Sin embargo, sería mejor si fuera explícito sobre este cambio en lugar de sobrescribirlo implícitamente.

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