Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Lavorare con i Riferimenti Utilizzando l'Hook useRef | React Hooks e Context per la Gestione dello Stato
React Mastery

bookLavorare con i Riferimenti Utilizzando l'Hook useRef

L'hook useRef consente di creare una variabile che mantiene un riferimento a un elemento, un valore o qualsiasi altro dato che non influisce sul rendering del componente. Questo può essere utile per memorizzare valori mutabili, accedere agli elementi del DOM o preservare valori tra i diversi render del componente.

Sintassi:

Per utilizzare l'hook useRef, si dichiara una variabile (refVariable) e le si assegna il risultato dell'invocazione di useRef(). Facoltativamente, è possibile fornire un valore iniziale (initialValue) come argomento di questo hook.

const refVariable = useRef(initialValue);

Nota

Il valore corrente può essere consultato e aggiornato tramite la proprietà refVariable.current. Il vantaggio di useRef è che permette di manipolare questi valori senza causare un nuovo rendering del componente.

Esempio:

Creiamo il componente FormInput che utilizza l'hook useRef per creare un riferimento a un elemento input e lo mette a fuoco quando si clicca un pulsante.

import React, { useRef } from "react";

const FormInput = () => {
  const inputRef = useRef();

  const handleClick = () => {
    inputRef.current.focus();
  };

  return (
    <div>
      <input type="text" ref={inputRef} />
      <button onClick={handleClick}>Focus Input</button>
    </div>
  );
};

In questo esempio, l'hook useRef crea un riferimento chiamato inputRef. Questo riferimento viene assegnato all'attributo ref dell'elemento input, permettendo di accedere all'elemento input tramite inputRef.current.

Spiegazione riga per riga:

  • Riga 1: Si importa l'hook useRef dalla libreria React per sfruttarne la funzionalità;
  • Riga 3: Il componente FormInput viene definito utilizzando la sintassi convenzionale della funzione;
  • Riga 4: Si inizializza la variabile inputRef utilizzando l'hook useRef, che rappresenta il riferimento all'input;
  • Riga 6-8: Questa funzione freccia JavaScript gestisce la logica del click sul pulsante, che mette a fuoco il campo di input per l'utente;
  • Riga 10-15: Viene renderizzato il markup del componente.
  1. Alla riga 12, si imposta il riferimento utilizzando l'attributo ref e si assegna la variabile inputRef come valore;
  2. Il pulsante alla riga 13 utilizza l'attributo onClick per specificare la funzione da eseguire al click, che in questo caso è la funzione handleClick.

Codice completo dell'app:

1. Qual è lo scopo principale dell'hook useRef?

2. Quale delle seguenti opzioni descrive meglio il comportamento di una variabile useRef quando il suo valore viene aggiornato?

question mark

Qual è lo scopo principale dell'hook useRef?

Select the correct answer

question mark

Quale delle seguenti opzioni descrive meglio il comportamento di una variabile useRef quando il suo valore viene aggiornato?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 3. Capitolo 4

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Awesome!

Completion rate improved to 2.17

bookLavorare con i Riferimenti Utilizzando l'Hook useRef

Scorri per mostrare il menu

L'hook useRef consente di creare una variabile che mantiene un riferimento a un elemento, un valore o qualsiasi altro dato che non influisce sul rendering del componente. Questo può essere utile per memorizzare valori mutabili, accedere agli elementi del DOM o preservare valori tra i diversi render del componente.

Sintassi:

Per utilizzare l'hook useRef, si dichiara una variabile (refVariable) e le si assegna il risultato dell'invocazione di useRef(). Facoltativamente, è possibile fornire un valore iniziale (initialValue) come argomento di questo hook.

const refVariable = useRef(initialValue);

Nota

Il valore corrente può essere consultato e aggiornato tramite la proprietà refVariable.current. Il vantaggio di useRef è che permette di manipolare questi valori senza causare un nuovo rendering del componente.

Esempio:

Creiamo il componente FormInput che utilizza l'hook useRef per creare un riferimento a un elemento input e lo mette a fuoco quando si clicca un pulsante.

import React, { useRef } from "react";

const FormInput = () => {
  const inputRef = useRef();

  const handleClick = () => {
    inputRef.current.focus();
  };

  return (
    <div>
      <input type="text" ref={inputRef} />
      <button onClick={handleClick}>Focus Input</button>
    </div>
  );
};

In questo esempio, l'hook useRef crea un riferimento chiamato inputRef. Questo riferimento viene assegnato all'attributo ref dell'elemento input, permettendo di accedere all'elemento input tramite inputRef.current.

Spiegazione riga per riga:

  • Riga 1: Si importa l'hook useRef dalla libreria React per sfruttarne la funzionalità;
  • Riga 3: Il componente FormInput viene definito utilizzando la sintassi convenzionale della funzione;
  • Riga 4: Si inizializza la variabile inputRef utilizzando l'hook useRef, che rappresenta il riferimento all'input;
  • Riga 6-8: Questa funzione freccia JavaScript gestisce la logica del click sul pulsante, che mette a fuoco il campo di input per l'utente;
  • Riga 10-15: Viene renderizzato il markup del componente.
  1. Alla riga 12, si imposta il riferimento utilizzando l'attributo ref e si assegna la variabile inputRef come valore;
  2. Il pulsante alla riga 13 utilizza l'attributo onClick per specificare la funzione da eseguire al click, che in questo caso è la funzione handleClick.

Codice completo dell'app:

1. Qual è lo scopo principale dell'hook useRef?

2. Quale delle seguenti opzioni descrive meglio il comportamento di una variabile useRef quando il suo valore viene aggiornato?

question mark

Qual è lo scopo principale dell'hook useRef?

Select the correct answer

question mark

Quale delle seguenti opzioni descrive meglio il comportamento di una variabile useRef quando il suo valore viene aggiornato?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 3. Capitolo 4
some-alt