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

177
Visualizações
React Dropdown prop callback resets title

Working with a Dropdown but having a problem with the props callback, which resets {titlename}. I want to highlight the selected value but because of props.callback() / props.callback(key), the component or value gets reset and the selected value is not shown in {titlename}. Without callback props, this works perfectly, so that {titlename} is updated onClick. Is there a way I can set the clicked value as the title while also sending the callback?

 const CategoriesDropdown = (props) => {
    
        const eventData = props.Data;
    
        const [dropdownOpen, setDropdownOpen] = useState(false);
        const [titleName, setTitleName] = useState(props.Title);
    
        function DropdownComponent() {
    
            function clicked(key, name) {
                if (name === titleName) {
                    //console.log("Same Clicked!");
                    props.callBack()
                } else {
                    //console.log("Different Clicked!");
                    setTitleName(name);
                    props.callBack(key)
                }
            }
    
            if (eventData)
            return (
                <Dropdown
                    isOpen={dropdownOpen}
                    toggle={() => setDropdownOpen(!dropdownOpen)}
                >
                    <DropdownToggle className="btn_white_dark_border dropdown_border" button caret>
                        <span>{titleName}</span>
                    </DropdownToggle>
                    <DropdownMenu>
                        {Object.entries(eventData).map(([key, eventData], i) => (
                            <DropdownItem
                                key={i}
                                value={eventData[key]}
                                onClick={() =>
                                    clicked(key, eventData.Name)
                                }
                            >
                            {(eventData.Name) + (eventData.Count)}
                            </DropdownItem>
                        ))}
                    </DropdownMenu>
                </Dropdown>
            );
        }
}
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