React(16)
-
Provider
react-redux의 Provider는 리액트 앱과 리덕스 스토어를 연결해주는 '데이터 공급 장치'라고 이해하면 가장 정확합니다.리액트 컴포넌트 트리 어디에서든 리덕스 스토어의 상태(State)에 접근하고 액션(Action)을 보낼 수 있도록, 스토어를 하위 컴포넌트들에게 전달(Provide)해주는 역할을 합니다. 1. Provider의 핵심 역할 🏗️전통적인 리액트에서는 부모가 자식에게 데이터를 줄 때 Props Drilling(프롭스를 여러 단계 거쳐 내려주는 것) 현상이 발생합니다. Provider는 이 문제를 해결하기 위해 리액트의 Context API를 내부적으로 사용하여, 스토어를 전역적으로 사용할 수 있게 만듭니다.스토어 주입: 생성한 Redux Store를 리액트 앱 전체에 주입합니다...
2026.04.06 -
createApi
🚀 RTK Query의 심장: createApi현대 웹 개발에서 프론트엔드의 가장 큰 숙제는 "서버 데이터를 어떻게 신뢰성 있게 관리할 것인가?"입니다. Redux Toolkit은 이 숙제를 해결하기 위해 createApi라는 강력한 무기를 내놓았습니다. ⚔️ 1. createApi의 근본적인 정의 📖createApi는 서버 데이터를 가져오고(Fetching), 이를 로컬 스토어에 저장(Caching)하며, 데이터가 변했을 때 자동으로 동기화(Invalidation)하는 '데이터 관리 엔진'을 생성하는 함수입니다.전통적인 방식에서는 axios로 데이터를 가져오고, useEffect로 호출 시점을 정하고, useState나 slice로 로딩/에러 상태를 수동으로 관리했습니다. 하지만 createApi는..
2026.04.06 -
configureStore
configureStore 📡configureStore는 여러 개의 리듀서를 합치고, 미들웨어를 장착하며, 개발 도구(DevTools)를 연결하는 모든 과정을 단 하나의 설정 객체로 해결합니다. 1. configureStore 함수의 기본 선언 형태 📜표준적인 선언 방식과 각 속성이 스토어의 어느 부품이 되는지 확인해 보세요.import { configureStore } from '@reduxjs/toolkit';// 💡 여기서 드디어 출처가 밝혀집니다! // 각 파일에서 export default 된 리듀서들을 원하는 이름으로 import 합니다.import userReducer from './features/user/userSlice'; import postReducer from './featu..
2026.04.03 -
createSlice
createSlice 📜createSlice는 단순한 함수가 아니라, 리액트 개발자가 작성해야 할 수십 줄의 코드를 단 몇 줄로 요약해 주는 '팩토리 함수'입니다. 그 선언문의 구조를 뜯어보며 원리를 이해해 봅시다! 🚀 1. createSlice 함수의 기본 선언 형태 📝먼저, 우리가 라이브러리에서 가져와 사용하는 표준적인 선언 방식입니다.import { createSlice } from '@reduxjs/toolkit';const mySlice = createSlice({ name: '식별자', // 1. 슬라이스의 이름 (Action Prefix) initialState: {}, // 2. 초기 데이터 (Value) reducers: { ..
2026.04.03 -
Redux state에서 키는 리듀서 이름인가? 아니면 슬라이스(Slice) 이름인가?
이 글의 제목은 리덕스를 처음 접할 때 가장 많이 헷갈리는 지점 중 하나예요. "키는 리듀서 이름인가? 아니면 슬라이스(Slice) 이름인가?"에 대한 혼란이죠.결론부터 말씀드리면, 둘 다 맞지만 사용하는 맥락이 다릅니다. 이 어지러움을 한 방에 해결해 드릴게요! 🌪️✨ 🧐 왜 어지러운가? (용어의 정리)1. 전통적 리덕스(Vanilla Redux)의 관점: Reducer Name = Key과거에는 combineReducers를 쓸 때 우리가 직접 키 이름을 정해줬습니다.const rootReducer = combineReducers({ user: userReducer, // 여기서 'user'가 스토어의 Key가 됩니다. posts: postReducer // 여기서 'posts'가 스토어의 K..
2026.04.03 -
@reduxjs/toolkit 에는 왜 @ 접두사가?
패키지 이름 앞에 붙은 @ 기호는 단순히 장식이 아니라, 현대 자바스크립트 생태계(NPM)에서 아주 중요한 '네임스페이스(Namespace)' 또는 '스코프(Scope)' 기능을 의미합니다.왜 리덕스 팀이 이름을 redux-toolkit이 아니라 @reduxjs/toolkit으로 지었는지, 그 이유를 설명해 드릴게요! 🚀 1. 🏷️ 네임스페이스(Scope)란 무엇인가?과거 NPM은 모든 패키지 이름이 전역적으로 유일해야 했습니다. 예를 들어 누군가 toolkit이라는 이름을 선점하면, 리덕스 공식 팀이라도 그 이름을 쓸 수 없었죠.이를 해결하기 위해 도입된 것이 Scoped Packages입니다.형식: @소유자명/패키지명의미: "이 패키지는 @reduxjs라는 공식 그룹(공간) 안에 속해 있는 too..
2026.04.03