import React, { useMemo, useState } from 'react'; import { Button, Checkbox, Divider, Tabs } from 'antd'; const CheckboxGroup = Checkbox.Group; const operations = ; const OperationsSlot: Record = { left: , right: , }; const options = ['left', 'right']; type PositionType = 'left' | 'right'; const items = new Array(3).fill(null).map((_, i) => { const id = String(i + 1); return { label: `Tab ${id}`, key: id, children: `Content of tab ${id}`, }; }); const App: React.FC = () => { const [position, setPosition] = useState(['left', 'right']); const slot = useMemo(() => { if (position.length === 0) return null; return position.reduce( (acc, direction) => ({ ...acc, [direction]: OperationsSlot[direction] }), {}, ); }, [position]); return ( <>


You can also specify its direction or both side
{ setPosition(value as PositionType[]); }} />

); }; export default App;