• 메인으로 이동
    AD광고
    Best Seller소년 김구의 가슴 뜨거운 역사설민석의 한국사 대모험 38
    AD광고
    New행복을 선택하는 삶의 태도불행에 몰두하지 않는다
    • 베스트
    • 소득공제
    • 무료배송

    코어 프런트엔드 UI - 리액트와 순수 자바스크립트로 키우는 실무 사고력(위키북스 프로그래밍 & 프랙티스 시리즈 38)

    • 정재남 저
    • 위키북스
    • 2026년 03월 10일
    10%34,20038,000
    적립금
    1,900원 (5% 적립)
    추가 적립
    추가 적립 안내
    • 5만원 이상 결제 시 (*배송비 제외)

      정가제FREE(상품/사은품) 금액이 2,000원 이상이면 2,000원 추가적립

    • 10만원 이상 결제 시 (*배송비 제외)

      정가제FREE(상품/사은품) 금액이 2,000원 이상이면 2,000원 추가적립

      정가제FREE(상품/사은품) 금액이 5,000원 이상이면 5,000원 추가적립

    결제혜택
    무이자 할부
    결제사 혜택
    쿠폰
    회원 가입 즉시 지급되는 적립금 과 등급별 다양한 회원 혜택 보기
    배송비
    무료  (해외배송의 경우 지역에 따라 상이)

    배송안내

    서울특별시 강남구 강남대로 542(논현동, 영풍빌딩)
    지금 택배 주문하면 9/9(수) 출고 가능
    택배보다 빠른, 나우드림
    34,200

    [네이버페이]

    상품 규격 정보
    상품상세정보
    ISBN ISBN-13 : 9791158396602
    쪽수596쪽
    크기기타 규격
    제품구성단행본
    이 책이 속한 분야
    • 컴퓨터/IT > 인터넷
    관련 이벤트
    • 사은품

    이달의 리뷰왕

    2026.01.01 ~ 2026.12.31

    • 사은품

    신규가입시 최대 10,800원

    2025.12.31 ~ 2026.12.31

    • 사은품

    『유치원 Wars 17』 출간 기념 포토카드 증정!

    2026.09.01 ~ 2026.09.28

    • 사은품

    9월 특별선물 《영풍문고 리유저블백》

    2026.09.01 ~ 2026.09.30

    • 사은품

    이달의 리뷰왕

    2026.01.01 ~ 2026.12.31

    • 사은품

    신규가입시 최대 10,800원

    2025.12.31 ~ 2026.12.31

    • 사은품

    『유치원 Wars 17』 출간 기념 포토카드 증정!

    2026.09.01 ~ 2026.09.28

    • 사은품

    9월 특별선물 《영풍문고 리유저블백》

    2026.09.01 ~ 2026.09.30

    책 소개

    프런트엔드 UI의 핵심, 순수 자바스크립트부터 리액트 심화 패턴까지!

    프런트엔드 개발은 단순한 라이브러리 활용을 넘어, 브라우저 메커니즘을 이해하고 제어하는 과정입니다. 다만 매일 쓰는 React 훅과 컴포넌트 이면에 있는 순수 자바스크립트(Web API)의 작동 원리와 효율적인 UI 설계 구조를 제대로 이해하기는 쉽지 않습니다.

     

    이 책은 같은 UIReact와 순수 자바스크립트 두 방식으로 구현하며, 각 접근법의 장단점을 비교해 이해할 수 있도록 돕습니다. 나아가 현대 프레임워크 환경 속에서 자바스크립트 생태계를 다루는 데 필요한 실무 통찰을 제공합니다.

     

    《코어 프런트엔드 UI》는 기능별 작성법이나 사용법을 나열하고 소개하는 데 그치지 않고, UI가 동작하는 원리와 설계 기준을 깊이 있게 다룹니다. Intersection Observer를 활용한 가시성 제어, customValidity를 통한 폼 검증 등 최신 Web API와 리액트 기술을 다루고, HTMLCSS만으로 해결할 수 있는 영역까지 아우르며, 폭넓고 유연한 시야를 가질 수 있도록 돕습니다.

     

    이 책은 정답을 제시하기보다 해결 과정에서의 고민과 시도, 그리고 문제 해결을 위한 실마리를 공유합니다. 초보 개발자라면 복잡한 UI 개념을 단계적으로 이해하며 자신감을 얻을 수 있고, 숙련된 개발자라면 프레임워크에 기대지 않고 문제를 해결하는 역량을 기를 수 있습니다. 코드를 따라 치는 것을 넘어, 스스로 생각하고 설계하는 힘을 길러 보시기 바랍니다.

     

    ★ 이 책에서 다루는 내용 ★

     

    ◎ 리액트와 순수 자바스크립트로 동일한 UI를 구현하며 각 패러다임을 이해하기

    ◎ 아코디언, 탭 메뉴, 툴팁 등 필수 UI 컴포넌트의 밑바닥 설계

    Intersection Observer, scrollIntoView 등 순수 자바스크립트 API 실전 활용

    useRef, createPortal을 활용한 DOM 직접 제어 및 레이어 관리 기법

    ◎ 무한 스크롤, 캐러셀 등 UX를 좌우하는 핵심 UI 로직 구현

    ◎ 컴파운드 컴포넌트와 헤드리스 패턴을 적용한 재사용 가능한 설계 구조

    목차

    [목 차]

    00: 환경 구성

    0.0 프로그램 설치

    __0.0.0 크롬 브라우저 설치

    __0.0.1 Node.jsnpm 설치

    __0.0.2 비주얼 스튜디오 코드 설치

    0.1 프로젝트 환경 구성

    __0.1.0 설정 완료 코드 활용

    __0.1.1 Vite + TanStack Router 프로젝트 생성

    __0.1.2 프로젝트 시작

    __0.1.3 초기화 및 기본 환경 설정

    __0.1.4 공통 코드 수정

    __0.1.5 경로 처리

    0.2 순수 자바스크립트 실행기

     

    01: 아코디언

    1.0 공통 코드 작성

    1.1 첫 번째 아코디언

    1.2 CSS로 숨김/보임 처리

    1.3 CSS 애니메이션 추가

    __1.3.0 기본 애니메이션

    1.4 순수 자바스크립트 버전

    1.5 HTML만으로 작성

    __1.5.0 radio input

    __1.5.1 details

    1.6 ctrl+F 검색 기능 추가

    1.7 심화 - 명령형 프로그래밍과 선언형 프로그래밍

    __1.7.0 명령형 프로그래밍

    __1.7.1 선언형 프로그래밍

    __1.7.2 두 패러다임 비교

    1.8 정리

     

    02: 탭메뉴

    2.0 공통 코드 작성

    2.1 첫 번째 탭메뉴

    2.2 CSS로 숨김/보임 처리

    2.3 CSS 애니메이션 추가

    __2.3.0 간단한 애니메이션 - transition

    __2.3.1 복잡한 애니메이션 - animation

    __2.3.2 애니메이션 종료 시 클래스 제거하기

    2.4 순수 자바스크립트 버전

    2.5 HTML만으로 작성 - radio input

    2.6 정리

     

    03: 툴팁

    3.0 공통 코드 작성

    3.1 터치 또는 클릭으로 동작하는 툴팁

    3.2 최대 하나의 툴팁만 열려 있도록 처리

    __3.2.0 툴팁을 열 때 기존 툴팁을 모두 닫기 - context API 활용

    __3.2.1 다른 곳 클릭 시 툴팁 모두 닫기 - 이벤트 핸들러

    __3.2.2 HTML만으로 작성 - details

    3.3 화면을 벗어나지 않도록 처리 (1) – 직접 계산

    __3.3.0 viewportContext

    __3.3.1 scroll 이벤트 관찰 대상과 resize 관찰 대상 분리하기

    __3.3.2 일반 HTML 요소에 대한 좌표 정보

    __3.3.3 useStyleInsideViewport

    __3.3.4 마무리 – 코드 적용하기

    3.4 화면을 벗어나지 않도록 처리 (2) anchor positioning

    3.5 순수 자바스크립트 버전

    __3.5.0 컨텍스트 대체하기 – 옵서버 패턴

    __3.5.1 훅 대체하기 – 역할 축소

    __3.5.2 툴팁 컴포넌트

    3.6 정리

     

    04: 반응형 텍스트박스

    4.0 공통 코드 작성

    4.1 canvas로 높이 계산

    4.2 레플리카 기법

    4.3 원본의 scrollHeight로 조절

    4.4 순수 자바스크립트 버전

    4.5 정리

     

    05: 여러줄 말줄임

    5.0 공통 코드 작성

    5.1 canvas로 줄 수 계산

    5.2 레플리카 기법

    5.3 원본의 scrollHeight로 조절

    5.4 순수 자바스크립트 버전

    5.5 정리

     

    06: 폼 제어

    6.0 공통 코드 작성

    6.1 숫자 구분 기호 자동 완성 인풋

    __6.1.0 구분 기호를 표기하는 방법

    __6.1.1 사용자 입력 즉시 구분 기호 삽입하기

    __6.1.2 커서 이동 및 백스페이스 문제 해결

    __6.1.3 최초 포커스 시 커서 이동시키기

    __6.1.4 유효성 검사

    6.2 복잡한 폼 제어

    __6.2.0 제어 컴포넌트 vs 비제어 컴포넌트, 제어 폼 vs 비제어 폼

    __6.2.1 비제어 폼

    __6.2.2 제어 폼

    6.3 커스텀 훅

    6.4 정리

     

    07: 지연 로딩

    7.0 공통 코드 작성

    7.1 직접 계산

    __7.1.0 기본 코드 작성

    __7.1.1 화면 안에 있는지 판단하기

    7.2 Intersection Observer (+ native)

    __7.2.0 Intersection Observer 훅 적용

    __7.2.1 HTML loading 속성 활용

    7.3 순수 자바스크립트 버전

    __7.3.0 useIntersectionObserver 훅 대체하기

    __7.3.1 지연 로딩 함수

    __7.3.2 지연 로딩 이미지 컴포넌트

    7.4 미리 보기 제공

    7.5 정리

     

    08: 페이지네이션과 무한 스크롤

    8.0 공통 코드 작성

    8.1 전통적인 페이지네이션 - 내비게이션 바

    __8.1.0 기본 구성

    __8.1.1 서버 응답 시간 Mocking하기

    __8.1.2 훅으로 추출

    __8.1.3 내비게이션 바 컴포넌트 분리

    __8.1.4 최대 페이지 제한 기능 추가

    __8.1.5 최대 페이지를 알 수 없는 경우

    8.2 무한 스크롤

    __8.2.0 무한 스크롤 기능 구현

    __8.2.1 원인 분석 및 문제 해결

    8.3 순수 자바스크립트 버전

    8.4 무한 스크롤 성능 최적화

    __8.4.0 Windowing #1

    __8.4.1 Windowing #2

    __8.4.2 CSS content-visibility: auto;

    8.5 정리

     

    09: 캐러셀

    9.0 공통 코드 작성

    9.1 기본 캐러셀

    9.2 스크롤 박스

    __9.2.0 화면 단위로 이동하는 스크롤 박스

    __9.2.1 스크롤 박스 캐러셀

    __9.2.2 기본 캐러셀 vs. 스크롤 박스

    9.3 무한 캐러셀

    9.4 심화 - 3D 캐러셀

    9.5 정리

     

    10: 스크롤 스파이

    10.0 공통 코드 작성

    10.1 스크롤 이벤트

    10.2 Intersection Observer

    10.3 내비게이션에 스크롤 박스 적용

    __10.3.0 스크롤 박스 컴포넌트 분리

    __10.3.1 스크롤 초점 이동 1- ScrollBox에서 자동으로 수행

    __10.3.2 스크롤 초점 이동 2- 상위 컴포넌트에서 명령

    10.4 정리

     

    11: 스낵바

    11.0 공통 코드 작성

    11.1 순수 자바스크립트 버전

    11.2 Context

    11.3 Portal

    __11.3.0 Portal을 컴포넌트에서 호출

    __11.3.1 portal을 훅에서 전달

    11.4 정리

     

    12: 모달

    12.0 공통 코드 작성

    12.1 Context

    __12.1.0 컴파운드 컴포넌트 Compound Component

    __12.1.1 modalContext useModal

    __12.1.2 실제 모달 컴포넌트 작성 및 적용

    __12.1.3 스크롤 이슈 파악 및 해결

    __12.1.4 데이터 동기화 문제

    12.2 createPortal + context + HOC

    __12.2.0 기본 동작 구현

    __12.2.1 스크롤 이슈 해결

    12.3 순수 자바스크립트 버전

    12.4 HTML dialog (1)

    12.5 컨텍스트 외부에서 모달 호출

    __12.5.0 외부에서 제어 가능하도록 만들기

    __12.5.1 모달을 열 때 값 전달 가능하도록 변경

    12.6 정리

     

    13: 팝오버

    13.0 공통 코드 작성

    13.1 콘텐츠 내부에서 그대로 렌더링

    13.2 createPortal

    13.3 HTML dialog

    13.4 popover 속성

    13.5. 정리

     

    14: 드롭다운

    14.0 공통 코드 작성

    14.1 컴파운드 컴포넌트

    __14.1.0 기본 기능 구현

    __14.1.1 외부 클릭 시 닫힘 처리 (1)

    __14.1.2 외부 클릭 시 닫힘 처리 (2)

    __14.1.3 키보드 입력 시 기능 구현

    14.2 헤드리스 컴포넌트 Headless Component HTML dialog

    __14.2.0 render 패턴

    __14.2.1 훅 패턴

    __14.2.2 컴파운드 컴포넌트 vs. 헤드리스 컴포넌트

    14.3 createPortal

    14.4 정리

     

    15: 자동완성

    15.0 공통 코드 작성

    15.1 정적인 자동완성

    15.2 네트워크 요청에 의한 자동완성

    15.3 정리

     

    16: 갤러리

    16.0 공통 코드 작성

    16.1 컴포넌트 재활용 – 지연로딩, 스크롤박스,

    16.2 모달, 캐러셀

    16.3 라이트박스 갤러리

    16.4 정리

     

    17: 심화 - 경로 처리

    17.0 경로 처리를 위한 routes 하위 컴포넌트

    17.1 경로-컴포넌트 매핑

    __17.1.0 중첩 객체(nested object)로 구성

    __17.1.1 단일 깊이의 객체로 구성

    __17.1.2 GNB 컴포넌트

    17.3 routeMap 파일 수정 - 최종 코드

     

    ▣ 부록: 의존 파일 모음

    출판사 서평

    저자 소개
    저자 : 정재남
    도서리뷰 (0)
    이 책을 읽고 어떤 느낌을 받으셨나요? 리뷰를 남기고 다른 독자들과 함께 공유해보세요.

    등록된 리뷰가 없습니다

    첫번째 리뷰어가 되어주세요

    이 분야에서 요즘 뜨는 책
    에러가 무섭지 않게 되는 책 - 에러 잘 읽는 법부터 효율적으로 디버깅하고 디버깅이 쉬운 코드를 작성하는 법까지사쿠라바 히로유키, 모치즈키 고타로 | 제이펍
    AI혁신:개정판 - 나의 커리어를 높이는 스마트워크 전략박대형, 김상용, 차명일, 임성기 | 지식과감성
    인생 언리얼 5 프로젝트 교과서 - 언리얼 엔진으로 3D 이머시브 콘텐츠 개발이영호, 박원석, 박현상, 탁광욱, 이영훈, 김현진 | BM성안당
    비전공자를 위한 이해할 수 있는 파이썬 - 챗GPT 시대에 최적화된 파이썬 공부법최원영 | 티더블유아이지
    엔트리 인공지능 with 햄스터 로봇 - 개정판강윤지,박찬규,강성웅,김원유,심재민,김연구,홍성용,김경상,정인재 | 영진닷컴
    에러가 무섭지 않게 되는 책 - 에러 잘 읽는 법부터 효율적으로 디버깅하고 디버깅이 쉬운 코드를 작성하는 법까지사쿠라바 히로유키, 모치즈키 고타로 | 제이펍
    AI혁신:개정판 - 나의 커리어를 높이는 스마트워크 전략박대형, 김상용, 차명일, 임성기 | 지식과감성
    인생 언리얼 5 프로젝트 교과서 - 언리얼 엔진으로 3D 이머시브 콘텐츠 개발이영호, 박원석, 박현상, 탁광욱, 이영훈, 김현진 | BM성안당
    비전공자를 위한 이해할 수 있는 파이썬 - 챗GPT 시대에 최적화된 파이썬 공부법최원영 | 티더블유아이지
    엔트리 인공지능 with 햄스터 로봇 - 개정판강윤지,박찬규,강성웅,김원유,심재민,김연구,홍성용,김경상,정인재 | 영진닷컴
    에러가 무섭지 않게 되는 책 - 에러 잘 읽는 법부터 효율적으로 디버깅하고 디버깅이 쉬운 코드를 작성하는 법까지사쿠라바 히로유키, 모치즈키 고타로 | 제이펍
    AI혁신:개정판 - 나의 커리어를 높이는 스마트워크 전략박대형, 김상용, 차명일, 임성기 | 지식과감성
    인생 언리얼 5 프로젝트 교과서 - 언리얼 엔진으로 3D 이머시브 콘텐츠 개발이영호, 박원석, 박현상, 탁광욱, 이영훈, 김현진 | BM성안당
    이 분야의 화제의 신간
    혼자 공부하는 SQL with AI - AI와 함께 1:1 과외하듯 배우는 데이터베이스 자습서: SQLD 유형문제 수록 해설 강의 제공우재남 | 한빛미디어
    직장인을 위한 AI 에이전트 클로드 코워크 - 앤트로픽 공식 플러그인으로 익히는 32가지 실무 예제케이트리 | 제이펍
    이기적 컴퓨터활용능력 1급 필기+실기 올인원(2027대비)홍태성, 박윤정 | 영진닷컴
    AI 팀원을 고용한 회사는 다르게 일한다 - 부서별 업무별 챗GPT 실전 도입 가이드 영업 마케팅 인사 경영기획 백오피스 업무 경영자(모두의 AI)이케다 도모히로 | 길벗
    AI와 일하는 기술 - 성과를 만드는 365가지 AI 치트키최정혜, 김여립, 이동근, 뉴럴웨이브 | 한국경제신문
    혼자 공부하는 SQL with AI - AI와 함께 1:1 과외하듯 배우는 데이터베이스 자습서: SQLD 유형문제 수록 해설 강의 제공우재남 | 한빛미디어
    직장인을 위한 AI 에이전트 클로드 코워크 - 앤트로픽 공식 플러그인으로 익히는 32가지 실무 예제케이트리 | 제이펍
    이기적 컴퓨터활용능력 1급 필기+실기 올인원(2027대비)홍태성, 박윤정 | 영진닷컴
    AI 팀원을 고용한 회사는 다르게 일한다 - 부서별 업무별 챗GPT 실전 도입 가이드 영업 마케팅 인사 경영기획 백오피스 업무 경영자(모두의 AI)이케다 도모히로 | 길벗
    AI와 일하는 기술 - 성과를 만드는 365가지 AI 치트키최정혜, 김여립, 이동근, 뉴럴웨이브 | 한국경제신문
    혼자 공부하는 SQL with AI - AI와 함께 1:1 과외하듯 배우는 데이터베이스 자습서: SQLD 유형문제 수록 해설 강의 제공우재남 | 한빛미디어
    직장인을 위한 AI 에이전트 클로드 코워크 - 앤트로픽 공식 플러그인으로 익히는 32가지 실무 예제케이트리 | 제이펍
    이기적 컴퓨터활용능력 1급 필기+실기 올인원(2027대비)홍태성, 박윤정 | 영진닷컴
    교환/반품/환불
    반품/교환방법
    • 마이페이지 > 주문관리 > 주문/배송조회 > 주문조회 후  [1:1상담신청]  또는 고객센터 (1544-9020)
    • ※ 오픈마켓, 해외배송 주문상품 문의 시 [1:1상담신청] 또는 고객센터 (1544-9020)
    반품/교환 가능기간
    • 변심반품의 경우 수령 후 7일 이내
    • 상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내
    반품/교환비용
    • 단순변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
    • 해외직배송 도서 구매 후 단순변심에 의한 취소 및 반품 시 도서판매가의 20% 수수료 부과
    반품/교환 불가 사유
    • 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
    • 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
      예) 만화, 잡지, 수험서 및 문제집류
    • 복제가 가능한 상품 등의 포장을 훼손한 경우
      예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
    • 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우
    • 디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
    • 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
    • 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
    상품 품절
    • 공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는 이메일과 문자로 안내드리겠습니다.
    소비자 피해보상
    환불지연에 따른 배상
    • 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁 해결 기준 (공정거래위원회 고시)에 준하여 처리됨
    • 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함
    공지사항
    • [이벤트 당첨자 발표] 서울국제정원박람회, 김진명 작가 북토크 당첨자 안내
    • [이벤트 당첨자 발표] 9월 모두의 서가 이벤트 당첨자 안내
    • [공지사항] 스타필드마켓 월계 문구복합매장 그랜드 오픈 🎊 이벤트 안내!
    • [공지사항] 2026년 9월 1일 개인정보 처리방침 개정 안내(3.개인정보 처리, 항목, 보유기간)
    • [이벤트 당첨자 발표] 26년 8월 <이달의 작가> 댓글 이벤트 당첨자 안내
    공지더보기