profile
Why?에서 시작해 How를 찾는 과정을 좋아합니다. 그 고민과 성장의 과정을 꾸준히 기록하고자 합니다.
태그 목록
전체보기 (470)error(9)알고리즘(8)Two pointers(7)Algorythm(7)git(7)DFS(7)js(6)React(6)redux(5)webpack(5)BFS(5)breadth first search(4)리액트(4)test(4)leetcode(4)ts(4)State(3)transform(3)depth first search(3)refactoring(3)vanilla js(3)offsetX(3)rotate(3)bindActionCreators(3)DP(3)recursion(3)keydown(3)TIL(3)Binary Search(3)백준(3)shallow copy(3)JS30(3)type(2)ghost defense(2)semantic(2)Recoil(2)slice(2)indexOf(2)Constructor(2)unit test(2)Next.js 13(2)next.js(2)Array.from(2)클래스(2)Design Pattern(2)innerHeight(2)scrollY(2)scroll(2)login(2)linked list(2)stack(2)mapstatetoprops(2)hash set(2)modal(2)reduce(2)입출력과사칙연산(2)async(2)절대경로(2)Map(2)algo(2)컴포넌트(2)프로그래머스(2)Suspense(2)자바스크립트(2)transitionend(2)currentTime(2)connect()(2)transform-origin(2)Prototype(2)fromIndex(2)mapdispatchtoprops(2)tsconfig(2)테스트(2)path parameter(2)router(2)pageX(2)dynamic programming(2)jest(2)offsetWidth(2)프로토타입(2)getBoundingClientRect(2)Node(2)repository(2)Sliding Window(2)convention(2)바닐라 자바스크립트(2)offsetTop(2)Bit manipulation(2)얕은복사(2)shift(1)while(1)for(1)import(1)absolutepath(1)concat(1)가운데정렬(1)reference(1)find(1)(1)semantic tag(1)findIndex(1)환경변수(1)(1)merge(1)rebase(1)dotenv(1)hash(1)Flexbox(1)callback(1)예외처리(1)행렬(1)코드스플리팅(1)naming convention(1)node.js(1)in(1)iteration(1)local storage(1)drag(1)capturing(1)yield(1)bubbling(1)fork(1)revert(1)semantic web(1)for...in(1)원시값(1)for...of(1)pathname(1)social-login(1)InnerHTML(1)깊은복사(1)createAction(1)keyCode(1)함수선언(1)textContent(1)setAttribute(1)DevTool(1)static method(1)super(1)Sort(1)재귀(1)pagination(1)해시(1)(1)TWIL(1)atom(1)CS(1)filter(1)formData(1)base64(1)line height(1)매개변수(1)LIMIT(1)data binding(1)commit(1)Context API(1)keyup(1)정규표현식(1)싱글턴 패턴(1)once(1)REST(1)다형성(1)switch(1)arguments(1)Singleton(1)Absolute Path(1)DROP(1)Observer Pattern(1)토큰(1)execution context(1)MVC(1)Center(1)mock(1)translate(1)OAuth2.0(1)origin(1)hasOwnProperty(1)Rollup(1)env(1)icon(1)build(1)selector(1)소수찾기(1)challenge(1)routing(1)복사(1)race condition(1)sop(1)bundler(1)연결리스트(1).env(1)생성자함수(1)tofixed(1)인터넷(1)parsing(1)SDK(1)실행컨텍스트(1)라우팅(1)provider(1)dependency(1)object.entries(1)object.values(1)object.keys(1)RenderTree(1)ScrollIntoView(1)CSSOM(1)소셜 로그인(1)클린 코드(1)시멘틱(1)duration(1)SOME(1)code_splitting(1)unit(1)Routes(1)stopPropagation(1)git log(1)git revert(1)성능개선(1)innerText(1)setProperty()(1)유사배열객체(1)Sementic web(1)선언적 프로그래밍(1)dynamic programing(1)nodeList(1)clientHeight(1)offsetHeight(1)mouseenter(1)mouseleave(1)screenX(1)반응성(1)every(1)ListNode(1)query parameter(1)HTMLCollection(1)module format(1)entries(1)FileReader(1)react-modal(1)shiftKey(1)동적 라우팅(1)scrollLeft(1)playbackRate(1)esbuild(1)useParams(1)toss(1)coordinates(1)약수(1)useLocation(1)localeCompare(1)pick(1)blur(1)path variable(1)참조값(1)NFT(1)@compound component(1)charCodeAt(1)reactivity(1)cubic-bezier(1)data-*(1)정적 메서드(1)vite(1)React18(1)Web3(1)교육과정(1)KeyboardEvent(1)pointer-events(1)짝수(1)중복값제거(1)METAMASK(1)forinloop(1)again(1)원티드 프리온보딩 프론트엔드(1)timeupdate(1)clientX(1)preonboarding(1)원티드 프리온보딩(1)react-icon(1)state 끌어올리기(1)콜라츠(1)functionComponent(1)headless(1)useSetRecoilState(1)useRecoilState(1)useRecoilValue(1)transform:rotate(1)transition-timing-function(1)margin:auto(1)text-align:center(1)input event(1)input: range(1)input: color(1)배열 안 모든 요소 인덱스 찾기(1)배열 요소의 모든 위치 찾기(1)array replace(1)innderHeight(1)evendigits(1)screenHeight(1)끝까지 스크롤했는지 판별(1)premitive(1)outerHeight(1)얕은복사 전개연산자(1)textShadow(1)KeyboardEvent.shiftkey(1)cornify_add()(1)event.preventDefault()(1)event.isComposing()(1)git push -f origin(1)mouseenter event(1)offsetLeft(1)leeetCode(1)hamming weight(1)Depth-first searach(1)paddingTop(1)redux-devtools-extension(1)handleActions(1)headless ui(1)댓글삭제(1)댓글추가(1)교육과정 설계(1)과반수(1)npm error(1)rm --cached(1)legacy-peer-deps(1)reword(1)serializes(1)toEqual(1)toBe(1)return-type(1)ts error(1)next error(1)니콘내콘(1)기프티콘 앱(1)숙박플랫폼(1)스테이메모리(1)testingLibraryElementError(1)E2ETest(1)unhandledPromiseRejection(1)sytaxError(1)moduleFormat(1)--legacy-peer-deps(1)cryptowallet(1)googleid(1)재사용성(1)Maximum call stack size exceeded(1)radix-ui(1)데이터 로깅(1)코드 설계(1)useFunnel(1)반응형 패턴(1)gilded-rose(1)응집도 개선(1)slash23(1)좋은 컴포넌트(1)offset(1)streaming SSR(1)serialize(1)테스트코드(1)--force(1)테스트 코드(1)dynamic routing(1)eth(1)라우터(1)fallback(1)deep copy(1)CSS(1)squash(1)classList(1)의존성 주입(1)flatmap(1)event delegation(1)lazy(1)유닛테스트(1)IntersectionObserver(1)bundle(1)소셜로그인(1)온보딩(1)promise(1)CRA(1)context(1)aws(1)cors(1)express(1)ESLint(1)blockchain(1)immutability(1)display(1)&&(1)비트연산(1)클로저(1)array(1)spread operator(1)github(1)reset(1)http(1)REST API(1)JWT(1)카카오(1)Module(1)npm(1)API(1)리팩토링(1)추상화(1)class(1)소수(1)자료구조(1)rendering(1)Flux(1)Database(1)프로젝트(1)디자인 패턴(1)oAuth(1)평균(1)cypress(1)DOM(1)nextjs(1)SSR(1)position(1)await(1)iterable(1)iterator(1)git reset(1)queue(1)this(1)arrayLike(1)path(1)closure(1)Object.assign(1)인가(1)인증(1)배열(1)next(1)JSX(1)useEffect(1)S3(1)유닛 테스트(1)regex(1)URI(1)query(1)cloudfront(1)transition(1)video(1)asynchronous(1)event loop(1)
post-thumbnail

좋은 컴포넌트 설계에 대한 고민 - Compound component알아보기

이번 포스팅에서는...radix UI 라이브러리를 소개하고compound component 아키텍처에 대해 정리합니다.headless UI에 대해 알아봅니다한창 모달을 어떻게 관리할 것인가에 대한 고민이 많았었습니다.어떤 부분을 고민했는지를 한번 먼저 적어볼게요.스타일

2023년 9월 4일
·
0개의 댓글
·