본문 바로가기
반응형

전체44

useReducer 완벽하게 파헤치기 useReducer 소개리액트 애플리케이션은 구현이 복잡해질수록 상태 관리가 어려워집니다. 특히 서로 연결된 여러 상태를 동시에 관리해야 할 때 개발자들은 큰 스트레스를 받습니다.리액트는 상호 의존적인 복잡한 상태를 관리하기 위해 useReducer라는 훅을 제공합니다.상호 의존적인 상태란, 하나의 상태가 다른 상태에 영향을 미치는 경우를 의미합니다. 예를 들어, 외부 콘텐츠를 로드하는 컴포넌트를 생각해봅시다. 이 컴포넌트는 다음과 같은 상태를 가질 수 있습니다:로드 중: 콘텐츠가 로드되고 있는 상태로드 성공: 콘텐츠가 성공적으로 로드된 상태로드 실패: 로드 과정에서 오류가 발생한 상태이런 상태들은 서로 의존적입니다. 예를 들어, 로드 중일 때는 성공이나 실패 상태가 의미가 없고, 실패 상태일 때는 결과.. 2025. 1. 30.
useState vs useRef: 언제 무엇을 써야 할까? 들어가면서리액트에서 상태 관리는 매우 중요한 개념입니다. 그중에서 useState와 useRef는 초보자들이 자주 헷갈리는 훅입니다.이 두 훅은 각각의 목적과 사용 방법이 다르지만, 비슷한 상황에서 사용될 수 있어 많은 학생들이 혼란스러워 합니다.본 글에서는 useState와 useRef의 차이점을 명확히 이해하고, 언제 어떤 훅을 사용해야 할지에 대한 가이드를 제공합니다.상태 변화가 필요할 때와 DOM 요소에 대한 접근이 필요할 때, 각각의 훅이 어떻게 활용되는지 구체적인 예시를 통해 쉽게 설명드릴 예정입니다.리액트를 배우시는 여러분이 이 두 훅의 용도를 명확히 이해하고, 더 나아가 효율적인 컴포넌트 개발에 한 걸음 더 나아갈 수 있도록 도와드리겠습니다.리액트의 상태관리와 리렌더링, 그리고 useRe.. 2025. 1. 29.
6. MSW 이해하기 더보기2025.01.22 - [Front-End/리액트 테스트 입문] - 1. 들어가기2025.01.22 - [Front-End/리액트 테스트 입문] - 2. 테스트 이해하기2025.01.22 - [Front-End/리액트 테스트 입문] - 3. TDD 이해하기2025.01.22 - [Front-End/리액트 테스트 입문] - 4. RTL 이해하기2025.01.22 - [Front-End/리액트 테스트 입문] - 5. Vitest 이해하기 MSW(Mock Service Worker)는 테스트를 수행할 때 사용되는 가짜서버입니다.왜 가짜 서버를 사용할까요?상황을 하나 상상해봅시다. 여러분은 카페에서 음료를 주문하는 앱을 개발 중입니다. 이 앱에서는 사용자가 버튼을 클릭하면 서버에 주문 정보를 보내고, 서버.. 2025. 1. 23.
5. Vitest 이해하기 더보기2025.01.22 - [Front-End/리액트 테스트 입문] - 1. 들어가기2025.01.22 - [Front-End/리액트 테스트 입문] - 2. 테스트 이해하기2025.01.22 - [Front-End/리액트 테스트 입문] - 3. TDD 이해하기2025.01.22 - [Front-End/리액트 테스트 입문] - 4. RTL 이해하기RTL은 가상 DOM을 시뮬레이션하고 그 요소를 컨트롤 할 수 있게 해줍니다.그렇다면 테스트에 필요한 대부분의 기능들을 RTL이 제공해주는데 Vitest는 왜 사용하는 것일까요?궁금증을 해결하기 위해선 테스트 프레임워크를 알아야 합니다.테스트 프레임워크테스트 프레임워크란 소프트웨어 개발에서 테스트를 자동화하고 관리하는 데 도움을 주는 도구 또는 라이브러리입니다... 2025. 1. 22.
4. RTL 이해하기 더보기2025.01.22 - [Front-End/리액트 테스트 입문] - 1. 들어가기2025.01.22 - [Front-End/리액트 테스트 입문] - 2. 테스트 이해하기2025.01.22 - [Front-End/리액트 테스트 입문] - 3. TDD 이해하기지금까지 소프트웨어 테스트와 TDD에 대한 일반적인 개념을 살펴보았습니다.이제 해당 개념들을 기반으로 React에서 수행하는 테스트 방법을 알아보겠습니다.RTL(React Testing Library) 소개RTL은 React에서 소프트웨어 테스트 방법론을 적용할 수 있게 도와주는 라이브러리입니다.RTL을 사용하여 개발자는 다양한 관점의 테스팅을 리액트 기반으로 쉽게 수행할 수 있습니다.RTL의 동작 방식 - 문제 인식리액트의 동작 원리를 생각해봅시.. 2025. 1. 22.
3. TDD 이해하기 더보기2025.01.22 - [Front-End/리액트 테스트 입문] - 1. 들어가기2025.01.22 - [Front-End/리액트 테스트 입문] - 2. 테스트 이해하기TDD란?TDD(Test-driven development) 코드를 작성하기 전에 테스트를 먼저 작성하는 소프트웨어 개발 방법론입니다. TDD는 테스트를 먼저 작성하여 코드의 품질을 높이고, 버그를 조기에 발견하는 것을 목적으로 합니다.TDD를 사용하는개발 조직은 테스트도 개발의 일부로 느끼게 되고, 개발이 진행될 때마다 전체 테스트 코드가 동작되는 회귀 테스트가 실현되기 때문에 효과적인 개발 루틴을 확보할 수 있습니다.TDD는 조직의 역량으로 확보되기까지 평균 4 ~ 6개월의 숙련 기간이 필요합니다.원리TDD는 일반적으로 다음과 같.. 2025. 1. 22.