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

116
Vistas
La función de un componente React no se reconoce como una función cuando se pasa como un parámetro

Estoy tratando de pasar una función como parámetro para un componente, sin embargo, no ve la función que paso como una función.

Aquí está la página (solo voy a proporcionar lo importante)

 const Home = () => { const nav = useNavigate() const [userList, setUserList] = useState([]); const [loggedInUser, setLoggedInUser] = useState({}); const [currentChat, setCurrentChat] = useState(undefined); const [showMenu, setShowMenu] = useState(false); let navMenu const handleChatChange = (chat) => { setCurrentChat(chat); } return ( <div id='sidebar'> <div> <Userlist users={userList} switchChat={handleChatChange}/> </div> </div> )

Aquí está el componente de reacción que proporciona el error.

 const Userlist = ( props, switchChat ) => { const switchCurrentchat = (user) => { switchChat(user); } return ( <div> <div id='home-header'> <h1>DevsHelp</h1> </div> <div id='userlist'> {props.users.map((user) => { return ( <div key={user._id} className='user' onClick={() => switchCurrentchat(user)} > <h3>{user.username}</h3> </div> ) })} </div> </div> )}

Cada vez que se llama a switchChat, devuelve un error que indica que "switchChat" no es una función.

Si hago un console.log (usuario) en lugar de switchChat (usuario), registra al usuario, por lo que la función funciona, sin embargo, simplemente no lo lee como una función.

Si alguien pudiera ayudarme, se lo agradecería mucho, gracias!

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Los componentes de React reciben un objeto, comúnmente conocido como props.

Si envuelve los parámetros entre llaves, puede referirse a ellos por su nombre dentro del componente. Como esto:

 const Userlist = ({ users, switchChat }) => {

Si hace esto, necesitará referirse a los usuarios directamente dentro del componente. Así que ya no hay props.users .

También puedes referirte a ellos a través del objeto props:

 const Userlist = (props) => { // props.users and props.switchChat are available here }
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