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

267
Vistas
Reaccionar: pasar la función a los accesorios React pero dar un error al acceder a él en el componente

Pasé dos accesorios en dos representaciones separadas del mismo componente y pasé un accesorio como una función y otro como una cadena. Sin embargo, al acceder a él en el componente para renderizar, dice: "props.prop1 no es una función"

Este es mi archivo App.js:

 import React from 'react'; import Test from './components/Test'; function App() { return ( <div className="App"> <header className="App-header"> <img src={logo} className="App-logo" alt="logo" /> <p> Edit <code>src/App.js</code> and save to reload. </p> <Test prop1={() => {return "a"}}/> <Test prop2="b"/> </header> </div> ); } export default App;

Este es mi archivo Test.js:

 import React from "react"; function Test(props) { return ( <> <div className="test"> <div>Test data {props.prop1()} </div> <div>{props.prop2}</div> </div> </> ); } export default Test;
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Ha declarado 2 componentes <Test> en su <App> y no está pasando prop2 en el segundo:

Es posible que desee pasarlos todos al mismo tiempo así:

 import React from 'react'; import Test from './components/test'; function App() { return ( <div className="App"> <header className="App-header"> <img src={logo} className="App-logo" alt="logo" /> <p> Edit {' '} <code> src / App.js </code> {' '} and save to reload. </p> <Test prop1={() => 'a'} prop2="b" /> </header> </div> ); } export default App;
about 4 years ago · Juan Pablo Isaza Denunciar

0

Está pasando prop1 y prop2 alternativamente. Así que deberías pasar ambos apoyos.

Si desea pasar accesorios alternativos, puede hacerlo. Agregue la función predeterminada (que solo invoca pero no hará nada) si prop1 está ausente como

 prop1 = () => {}

1) Debe usarse cuando desee mostrar el div a pesar del valor prop1

 import React from "react"; function Test({ prop1 = () => {}, prop2 }) { return ( <> <div className="test"> <div>Test data {prop1()} </div> <div>{prop2}</div> </div> </> ); } export default Test;

2) Si desea ocultar el div si prop1 no está presente, puede usar && como

 import React from "react"; function Test(props) { return ( <> <div className="test"> { props.prop1 && <div>Test data {props.prop1()} </div> } { props.prop2 && <div>{props.prop2}</div> } </div> </> ); } export default Test;
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