React Hooksを使用したJavaScriptでの複数の要素の配列に対する複数のrefの使用方法


  1. useRefを使用した方法:

    import React, { useRef, useEffect } from 'react';
    const MyComponent = () => {
    const elements = useRef([]);
    useEffect(() => {
    // 要素への参照を追加する
    elements.current = elements.current.slice(0, 3); // 配列の要素数を設定する
    // 参照の使用例
    elements.current.forEach((element) => {
      console.log(element);
    });
    }, []);
    return (
    <div>
      {Array.from(Array(3).keys()).map((index) => (
        <div key={index} ref={(el) => (elements.current[index] = el)}>
          Element {index}
        </div>
      ))}
    </div>
    );
    };
    export default MyComponent;
  2. useStateを使用した方法:

    import React, { useState, useEffect } from 'react';
    const MyComponent = () => {
    const [elements, setElements] = useState([]);
    useEffect(() => {
    // 要素への参照を更新する
    setElements((prevElements) => prevElements.slice(0, 3)); // 配列の要素数を設定する
    // 参照の使用例
    elements.forEach((element) => {
      console.log(element);
    });
    }, []);
    const addElementRef = (element) => {
    setElements((prevElements) => [...prevElements, element]);
    };
    return (
    <div>
      {Array.from(Array(3).keys()).map((index) => (
        <div key={index} ref={addElementRef}>
          Element {index}
        </div>
      ))}
    </div>
    );
    };
    export default MyComponent;

これらの例では、useRefフックまたはuseStateフックを使用して要素の配列に対する複数のrefを管理します。useEffectフックを使用して、コンポーネントがマウントされたときに参照を更新または使用することができます。

以上が、React Hooksを使用してJavaScriptで複数の要素の配列に対する複数のrefを使用する方法のいくつかの例です。