React _ 04

연가을·2022년 6월 29일
0

수업내용

오늘 한 실습은 redux를 활용하여 웹페이지를 만들었다.

환경 설정
1. 프로젝트 폴더 생성
2. 터미널 창에서 npm install redux react-redux 명령어를 실행하여 react에서 redux를 사용할 수 있도록 설치해 준다.

redux 란?
• JavaScript 상태관리 라이브러리이다.
• Node.js 모듈
• 상태관리 툴 종류

수업중 사용된 개념

  • Provider:

    • Provider은 react-redux라이브러리 안에 있는 컴포넌트입니다.
    • 리액트 앱에 스토어를 쉽게 연결하기 위한 컴포넌트 입니다.
  • combineReducer:

    • redux모듈이 제공하는 함수이다.
    • 만든 모든 리듀서들을 통합하여 하나의 리듀서로 쓰기 위한 함수이다
  • useSelector:

    • redux의 state조회 (즉, 스토어에 있는 데이터들 조회)
  • useDispatch:

    • 생성한 action 실행

실습 결과

수업 중 오류 및 해결방안

오류 화면

정확하게 오류에 대해 이해를 하지 못하였지만 CreateStore가 임폴트 되지 않아서 화면에 나오지 않는것 같았다.

store.js파일에 오류가 났나고 알려주어 파일을 열어 CreateStore를 임폴트 해주었다.

그러나 이번엔 useDispatch를 찾을 수 없다는 오류가 보였고, 파일은 ContactForm.js였다.

아마 오타로 인한 오류가 있을거라 생각하여 ContactForm파일만이 아닌 다른 컴포넌트파일들에들도 코드 비교를 해 보았다.

vscode에서는 비교하고자 하는 파일들을 선택하여 오른쪽 마우스를 클릭하면 compare code 할 수 있다.

대소문자의 구문 및 오탈자를 코드 비교를 통하여 고쳤다.

하지만 여전히 원하는 결과 화면은 출력이 되지 않았다.

console 창에서 오류를 보았지만 아직은 그 오류 코드를 이해할 수 없었지만, useStore를 사용할 수 없고 useDispatch를 사용할 수없고 등등 만든 컴포넌트와 reduse를 사용할 수 없는 것이라 판단하여 수업을 한 전체 파일을 비교해 보았다.

문제는 index.js에서 나왔다.

오류 정리
1. index.js파일에 store를 임폴트 해주지 않았다.
2. Provider store를 해주지 않았다.

index.js 파일을 수정하니 정상적인 결과물로 출력이 되었다.

0개의 댓글

관련 채용 정보