首頁 > web前端 > js教程 > 主體

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

Susan Sarandon
發布: 2024-11-03 05:23:02
原創
615 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板