React を使用して、このように静的に宣言された ref のリストがあります。
let line1 = useRef(null);
let line2 = useRef(null);
let line3 = useRef(null);
...
//IN MY RENDER PART
<li ref={(el) => (line1 = el)}>line1</li>
<li ref={(el) => (line2 = el)}>line1</li>
<li ref={(el) => (line3 = el)}>line1</li>
次に、参照がアニメーション関数に渡され、すべてが正しく機能します。少し状況が変わり、マップを使用してリスト項目を作成すると、要素を正しく参照できなくなりました。私は次のようなものを試しました:
{menu.menu.map((D) => {
let newRef = createRef();
LiRefs.push(newRef);
return (
<li
key={D.id}
ref={(el) => (newRef = el)} >
{D.label}
</li>
);
})}
しかし、アニメーション関数に渡す配列は空です (関数が useEffect フック内で呼び出され、LiRefs がまだ useRef ではないためだと思います)
ref={(el) => (`line${i}` = el)}
私が試すことができる他の解決策が機能していないのはどれですか?