import React, { ReactElement, Suspense, useState } from "react"; import { isNil } from "lodash"; export const TabControls = (props): ReactElement => { const { filteredTabs, downloadCount, activeTab, setActiveTab } = props; const [active, setActive] = useState(filteredTabs[0].id); // Use controlled state if provided, otherwise use internal state const currentActive = activeTab !== undefined ? activeTab : active; const handleSetActive = activeTab !== undefined ? setActiveTab : setActive; return ( <>
{filteredTabs.map(({ id, content }) => { return currentActive === id ? content : null; })} ); }; export default TabControls;