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

141
Visualizações
when using onClick event with callback is not listen on React functional component in react

I have one flyout that listens to the onClick event to open to a new tab then close it. When I bypass the onClick function onClickOption as props, it is working but when I set it up as onClick inline callback function, the flyout is not close after clicking any <li>. anyone may know why? codebox

import './styles.css';
import React, { FC, useRef, useState } from 'react';
import Flyout from './Flyout';
interface OptionPanelProps extends React.HTMLAttributes<HTMLElement> {}

const noOp = (): void => void 0;

export const OptionPanel: FC<OptionPanelProps> = () => {
  const openNewTab = (): void => {
    window?.open(`google.com`, '_blank');
  };
  return (
    <div>
      <ul>
        <li onClick={() => openNewTab()}>1</li>
        <li onClick={() => openNewTab()}>2</li>
        <li onClick={() => openNewTab()}>3</li>
      </ul>
    </div>
  );
};

export const OptionFlyout: FC = () => {
  const [isFlyoutOpen, toggleFlyout] = useState(false);
  const anchorRef = useRef < HTMLButtonElement > null;

  const closeFlyout = (): void => {
    toggleFlyout(false);
  };

  return (
    <div className="recentSearch" data-tn="recentSearch-flyout">
      <button ref={anchorRef}>Option Menu</button>
      <Flyout
        anchor={anchorRef.current}
        isOpen={isFlyoutOpen}
        onDismiss={closeFlyout}>
        {isFlyoutOpen && <OptionPanel onClick={() => closeFlyout()} />}
      </Flyout>
    </div>
  );
};

export default function App() {
  return (
    <div className="App">
      <OptionFlyout />
    </div>
  );
}
about 4 years ago · Juan Pablo Isaza
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