"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como selecionar elementos DOM no React: alternativas para `document.getElementById()`?

Como selecionar elementos DOM no React: alternativas para `document.getElementById()`?

Publicado em 2024-12-22
Navegar:451

How to Select DOM Elements in React:  Alternatives to `document.getElementById()`?

Como selecionar um elemento DOM no React? Qual é o equivalente de document.getElementById() em React

No React, ao contrário de trabalhar com JavaScript vanilla, acessar diretamente os elementos DOM é diferente. O React usa um DOM virtual para atualizar com eficiência o DOM real, o que o torna diferente do JavaScript vanilla.

Como acessar um elemento DOM

Opção 1: usando Refs

  • Use Refs com componentes de função:(v16.8.0) Use useRef e forwardRef. Defina a ref com useRef e encaminhe-a para o elemento DOM usando forwardRef. Para acessar o elemento, use a propriedade atual do ref (ref.current).

Opção 2: Usando React.createRef (v16.3 )

  • Crie uma referência usando React.createRef() e anexe-a a um elemento para acessá-la mais tarde. Use ref.current para obter o nó DOM.

Opção 3: usando padrão de retorno de chamada (legado)

  • Defina o atributo ref no JSX elemento e passe uma função de retorno de chamada que recebe a referência ao elemento DOM.

Opção 4: Usando String Refs (Legado)

  • Use refs de string definindo o atributo ref como uma string que identifica o elemento DOM. Acesse o elemento usando this.refs.[stringRef].

Exemplo

Abaixo está um exemplo de uso do padrão de retorno de chamada para selecionar um elemento DOM:

  render() {
    return (
      

Para acessar os elementos, você pode usar this.progressBars[0], this.progressBars[1] e this.progressBars[2] para realizar operações neles.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3