reactjs 动态生成多个tab如何获得每个 tab的ref
在React中,可以使用useRef钩子来获取每个tab的ref。
首先,创建一个数组来存储每个tab的ref:
const tabRefs = useRef([]);
然后,使用map函数来动态生成多个tab,并将每个tab的ref存储在数组中:
{tabs.map((tab, index) => (
<div ref={el => tabRefs.current[index] = el}>
{tab}
</div>
))}
现在,你就可以通过tabRefs.current[index]来访问每个tab的ref了。例如,你可以使用tabRefs.current[index].scrollIntoView()来滚动到特定的tab。
完整的示例代码如下:
import React, { useRef } from 'react';
function Tabs({ tabs }) {
const tabRefs = useRef([]);
return (
<div>
{tabs.map((tab, index) => (
<div ref={el => tabRefs.current[index] = el}>
{tab}
</div>
))}
</div>
);
}
希望对你有帮助
原文地址: https://www.cveoy.top/t/topic/iiHu 著作权归作者所有。请勿转载和采集!