import React, { HTMLAttributes, useMemo, useState } from 'react'; import styled from 'styled-components'; export interface CollapseProps extends HTMLAttributes { children?: React.ReactNode; defaultKey?: string; } const CollapseStyled = styled.div` width: 100%; border: 1px solid rgba(0, 0, 0, 0.1); `; type Ctx = { currentOrder: string; setOrder: React.Dispatch>; }; export const ctx = React.createContext(null!); const Collapse: React.FC = (props) => { const { children, defaultKey, ...rest } = props; const [currentOrder, setOrder] = useState(defaultKey!); const value = useMemo(() => { return { currentOrder, setOrder }; }, [currentOrder]); return ( {children} ); }; Collapse.defaultProps = { children: '', defaultKey: 'null' }; export default Collapse;