Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

126
Visualizações
¿Cómo agregar un onClick a un padre desde React Component cuya Ref se le pasa?

Estoy trabajando en un componente de menú reutilizable.

Toma una matriz de objetos y genera el Menú basado en la matriz enviada como apoyo.

Este menú siempre se activará al hacer clic.

Ahora, lo que quería hacer es tener la implementación onClick (escuchas de eventos, función onClick, etc.) dentro del propio componente Menu .

La forma en que planeé hacerlo fue asignar una Ref a lo que sea el Parent del menú (el elemento en el que se debe hacer clic para que se muestre el menú) y enviar esa referencia al Menu y usar la Ref para adjuntar la función onClick en el padre.

Padre.jsx

 import React, {useRef} from 'react'; const Parent = () => { const menuRef = useRef(null); return( <> {/* A lot of elements */} <ul type="none"> <li>Some svg's in a list</li> . . . <li ref={menuRef}> <svg>Another svg...</svg> <Menu parentRef={menuRef} items={menu} /> </ul> </> ) }

Menú.jsx

 import React, {useState} from 'react'; const Menu = ({parentRef,items}) => { const [isMenuActive, setMenuActive] = useState(false); const onParentClick = (e) => { // some code and then setMenuActive(!isMenuActive); } // This is what I intended to do parentRef.current.onClick(onParentClick); return( <div className={`menu-container ${isMenuActive ? 'active' : '' }`} {/* Menu population code */} </div> ) }

El problema es que todas las funciones de parentRef.current.* devuelven null .

Un archivo console.log de parentRef un objeto con la etiqueta current que tiene la etiqueta <li> completa como se esperaba. Pero no entiendo cómo asignarle un onClick.

Cualquier ayuda es apreciada.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

llamada de función: parentRef.current.onClick(onParentClick)

asignación de función: parentRef.current.onclick = function

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda