Heim > Web-Frontend > js-Tutorial > Wie kann ich mit React Hooks mehrere Refs für ein Array von Elementen verwenden?

Wie kann ich mit React Hooks mehrere Refs für ein Array von Elementen verwenden?

DDD
Freigeben: 2024-11-03 10:23:02
Original
414 Leute haben es durchsucht

How Can I Use Multiple Refs for an Array of Elements with React Hooks?

Wie kann ich mehrere Refs für ein Array von Elementen mit Hooks verwenden?

Einführung

Refs bieten eine Möglichkeit dazu Zugriff auf HTML-Elemente in React-Komponenten. Während Sie Refs zum Verwalten einzelner Elemente verwenden können, kann es Situationen geben, in denen Sie Refs auf ein Array von Elementen anwenden müssen. In diesem Artikel wird erläutert, wie Sie mithilfe von Hooks in React mehrere Refs für ein Array von Elementen implementieren.

Einzelelement-Ref

Die Verwendung von Refs für ein einzelnes Element ist unkompliziert:

<code class="javascript">const elRef = useRef();
const [elWidth, setElWidth] = useState();

useEffect(() => {
  setElWidth(elRef.current.offsetWidth);
}, []);</code>
Nach dem Login kopieren

Array of Elements Ref

Die Anwendung des obigen Ansatzes auf ein Array von Elementen funktioniert nicht, da allen Elementen dieselbe Referenz zugewiesen wird. Stattdessen müssen wir ein Array von Referenzen erstellen und diese jedem Element einzeln zuweisen:

<code class="javascript">const itemsRef = useRef([]);

// Initialize the array of refs
useEffect(() => {
  itemsRef.current = itemsRef.current.slice(0, props.items.length);
}, [props.items]);

// Use the array of refs in JSX
return props.items.map((item, i) => (
  <div
    key={i}
    ref={(el) => (itemsRef.current[i] = el)}
    style={{ width: `${(i + 1) * 100}px` }}
  >
    ...
  </div>
));</code>
Nach dem Login kopieren

In dieser Lösung ist itemsRef.current ein Array von Referenzen auf die HTML-Elemente. Sie können auf einzelne Elemente zugreifen, indem Sie das Array indizieren, z. B. itemsRef.current[0].

Das obige ist der detaillierte Inhalt vonWie kann ich mit React Hooks mehrere Refs für ein Array von Elementen verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage