interface NavbarOptionListProps {
    children: React.ReactNode & { onClose: () => void };
}

function NavbarOptionList({ children }: NavbarOptionListProps) {
    const [isOpen, setIsOpen] = useState(false);
    function toggleOpen() {
        setIsOpen(!isOpen);
    }

    return (
        <li>
            <button className='optionBtn' onClick={toggleOpen}>
                Change photo
            </button>
            {isOpen && <ModalPortal>{children}</ModalPortal>}
        </li>
    );
}


children: ReactNode를 받아서 button과 함께 리턴하는 컴포넌트임


단, children은 onClose를 구현해야 함.

interface에서 정의했기 때문에 반드시 children에서 구현돼야함!!


내가 하고싶은건 이 children에 onClose를 props로 보내고 싶은거임.

context로 전역관리 하기에는 <li>가 여러개라서 각각의 state를 관리하게되면 성능도 조지고 지저분해짐.


props.children에 정의된 콜백타입을 props로 보내는 방법이있음?