import cx from 'clsx'; import { isEqual } from 'lodash-es'; import { useCallback, useState } from 'react'; import styles from './Tab.module.css'; type TabProps = { tabs: { title: string; id: unknown }[]; onActive?: (id: unknown) => void; }; export function Tab({ tabs = [], onActive }: TabProps) { const [active, setActive] = useState(0); const handleActivate = useCallback((index: number) => { setActive(index); onActive?.(tabs[index].id); }, []); return (
{tabs.map((tab, index) => (
handleActivate(index)}> {tab.title}
))}
); }