0. export default 와 export 차이점
(1) export default
1) 하나의 모듈에서 단 하나의 default
2) import 할때, {중괄호}없이 직접 지정 가능
3) 주요 또는 가장 중요한 기능이나 컴포넌트 보낼때 사용
* export default Home
* import Home from './pages'
(2) export
1) 하나의 모듈에서 여러개의 named export 가능
2) import할때 {중괄호}에 명시해야함
3) 여러 기능이나 컴포넌트를 하나의 모듈에서 보낼때 사용
* export const myFunction = ()=>{}
* import {myFunction} from './pages'
1. 리덕스 설정 (3가지)
(1) [Redux - ConfigStore.js] : Store( 중앙저장소)생성 장소
1. const rootReducer = combineReducer({ todos, counter, users })
: rootReducer만들어서 여러개의 reducer들을 합칠거야
//modules 밑에 있는 여러 파일들(리듀서)이 반환하는 값
//현재 : todos, counter, users 등등
2. const store = createStore(rootReducer)
: rootReducer를 이용해서 store 만들거야 (store = 중앙저장소)
3. export default store;
: export해서 다른 파일에서 import 가능하게 하기
(2) [Redux - modules - todos.js]
1. action items
2. action creator
3. initial state => reducer 구성할때
4. reducer 만들것
5. reducer를 export (목표)
1. action items
2. action creator
3. initial state => reducer 구성할때
▶id = uuid()를 사용 --> yarn add uuid + import 해서 사용
4. reducer 만들것
▶(1) 삭제 부분 오류
▶오류 원인 :selectedId.id (오류)
▶이유: action.payload 자체가 id를 가져오는데 + 거기에 추가id를 붙인것 ==> undefined일수밖에 없음
▶ 변경 : selectedId (= action.payload) 만 사용
▶(2) 변경 부분 오류
▶오류 원인 : 선택한 아이디와 map 메소드의 아이디와 다른 경우는 생각하지 않음.
▶ 변경 : 아닌부분 else { return todo;} 추
5. reducer를 export (목표)
(3) [index.js]
1) provider: 누구에게 제공하는지? 그 children => <App>
(* Provider는 많이 등장함 >> redux, context 등등)
(* Provider를 특정 부분에만 부여하면 전역 아닌 지역적으로 사용 가능)
2. Router 페이지 : path에 따라 페이지 이동
▶ Route로
3. main 페이지
(1) store에 있는 리듀서 데이터 가져오기 => useSelector((state)=> state.todos);
(2) dispatch ( action creator (payload) ) 데이터 보내기 => useDispatch
끝.
'React' 카테고리의 다른 글
[리액트 심화] json-server 사용 방법 (+ 특정 포트 지정) (0) | 2023.11.28 |
---|---|
[리액트 심화] Redux Toolkit 사용하기 (리덕스와 다른점 비교) (1) | 2023.11.28 |
#05 리액트를 사용한 팬레터 웹사이트 개발 : 상세화면 UI 구현 및 공통 컴포넌트 & 공통 함수 적용 (1) | 2023.11.20 |
#04 리액트를 사용한 팬레터 웹사이트 개발 : 팬레터 등록 기능 구현 및 유효성 검사 , 글자수 제한 방법 (1) | 2023.11.20 |
#03 리액트를 사용한 팬레터 웹사이트 개발 : DummyData로 리스트 UI 구현 및 클릭한 사람 데이터만 보이기 (1) | 2023.11.20 |