Lavorare 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 diuseRefè 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
useRefdalla libreria React per sfruttarne la funzionalità; - Riga 3: Il componente
FormInputviene definito utilizzando la sintassi convenzionale della funzione; - Riga 4: Si inizializza la variabile
inputRefutilizzando l'hookuseRef, 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.
- Alla riga 12, si imposta il riferimento utilizzando l'attributo
refe si assegna la variabileinputRefcome valore; - Il pulsante alla riga 13 utilizza l'attributo
onClickper specificare la funzione da eseguire al click, che in questo caso è la funzionehandleClick.
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?
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
Awesome!
Completion rate improved to 2.17
Lavorare 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 diuseRefè 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
useRefdalla libreria React per sfruttarne la funzionalità; - Riga 3: Il componente
FormInputviene definito utilizzando la sintassi convenzionale della funzione; - Riga 4: Si inizializza la variabile
inputRefutilizzando l'hookuseRef, 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.
- Alla riga 12, si imposta il riferimento utilizzando l'attributo
refe si assegna la variabileinputRefcome valore; - Il pulsante alla riga 13 utilizza l'attributo
onClickper specificare la funzione da eseguire al click, che in questo caso è la funzionehandleClick.
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?
Grazie per i tuoi commenti!