首頁  >  文章  >  web前端  >  如何使用 React Hooks 實作元素數組的多個參考?

如何使用 React Hooks 實作元素數組的多個參考?

Susan Sarandon
Susan Sarandon原創
2024-11-03 05:23:02614瀏覽

How to Implement Multiple Refs for an Array of Elements with React Hooks?

透過Hooks 對元素數組使用多個引用

問題:

如何使用React hooks API 為元素數組實作多個引用?

背景:

對單一元素使用引用很簡單,但將其擴展到數組元素需要不同的方法。

建議的解決方案:

由於鉤子無法在循環中使用,因此需要自訂方法:

第1 步:建立引用數組

先建立一個將保存引用清單的ref 物件。

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

第2 步:存取元素引用

可以使用索引存取陣列中的每個元素:

<code class="javascript">itemsRef.current[n] // nth element's ref</code>

第3 步:在陣列更改時更新引用數組

確保ref 數組與元素數組保持同步。這可以在useEffect 掛鉤中完成:

<code class="javascript">useEffect(() => {
  itemsRef.current = itemsRef.current.slice(0, props.items.length);
}, [props.items]);</code>

第4 步:將引用分配給數組元素

創建元素時,為每個元素分配適當的引用:

<code class="javascript">props.items.map((item, i) => (
  <div
    key={i}
    ref={el => itemsRef.current[i] = el}
    style={{ width: `${(i + 1) * 100}px` }}
  >
    ...
  </div>
));</code>

按照以下步驟,您可以成功地對帶有鉤子的元素數組使用多個引用。

以上是如何使用 React Hooks 實作元素數組的多個參考?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn