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

128
Vistas
¿Qué causa la falla al pasar accesorios de padre a hijo en esta aplicación React?

Estoy trabajando en una pequeña aplicación React. Tiene una lista de botones en un componente Buttons.js .

Siguiendo esta guía , estoy tratando de pasar el valor del atributo de la etiqueta a la plantilla de un solo botón de esta manera:

En Botones.js:

 import './Buttons.css'; import Button from './Button'; const Buttons = (props) => { return ( <ol class="buttons-container"> <Button label="Clik 1" /> <Button label="Clik 2" /> <Button label="Clik 3" /> </ol> ); }; export default Buttons;

En Botón.js:

 import './Button.css'; const Button = () => { return ( <li>{ this.props.label }</li> ); } export default Button;

El problema

El código anterior no muestra ningún error en la consola, pero arroja esto en la consola del navegador:

 Cannot read properties of undefined (reading 'props')
about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

El código correcto es

 import './Button.css'; const Button = (props) => { return ( <li>{ props.label }</li> ); } export default Button;

Olvidaste pasar props y estabas usando this.props.label .

about 4 years ago · Juan Pablo Isaza Denunciar

0

Estás confundiendo componentes de clase y componentes de función.

En un componente de función, como el que usted tiene, los accesorios se pasan como el primer argumento de la función.

 const Button = (props) => { return ( <li>{props.label}</li> ); }

Y comúnmente desestructurado:

 const Button = ({label}) => { return ( <li>{label}</li> ); }

Accedería a accesorios a través de this si estuviera escribiendo un componente de clase:

 class Button extends React.Component { render() { return ( <li>{this.props.label}</li> ); } }
about 4 years ago · Juan Pablo Isaza Denunciar

0

Primero, su componente Button es un componente funcional, por this que no es necesario. En segundo lugar, debe definir accesorios en su componente de botón;

 const Button = (props) => { return ( <li>{ props.label }</li> ); } export default Button;
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