[TIL-redux 공부]

..·2023년 4월 20일
0

TIL

목록 보기
13/22
post-thumbnail

모듈스 = state 그룹

모듈스에 파일을 만들자

초기 상태값

const initialState 를 설정한다 변수명은 사실 상관없지만 이니셜 스테이트를 주로 사용

객체 형태로 넣어주면 된다 .

useState 를 사용했을 때

[state, setState] = useState(””)를 썻을 때 괄호 안에 초기값을 넣는 거랑 같은 개념

리듀서 : 인자를 받고, 어떠한 역할을 수행하는 함수.

인자로는 state랑 action 받음

const 변수명 = (state, action) ⇒ {} 이런 식으로 쓰게 되겠지?


state는 초기값이 앞에서 설정한 이니셜 스테이트다 라고 적을 수 있고

액션은 객체형태고 타입과 밸류가 있다 스테이트를 어떻게 수정할 건지에 대한 정보를 담고 있다

결국 리듀서는 스테이트를 액션의 타입에 따라 변경하는 함수라고 할 수있다 .

이 리듀서 안에는 이제 스위치 문을 사용할 수 있는데

액션에 있는 타입에 따라서 실행하는 작업이 다르게 설정할 수 있다.

아무 것도 없을 때는 default를 써서 최초 state를 return 할 수 있다.

이렇게 리듀서를 만들고 익스포트 해준다.

컨피그 스토어 파일에서 방금 생성한 리듀서를 임포트해주고

이제 이 스토어 안에 있는 리듀서를 컴포넌트들에서 가져다가 사용할 수 있는 상태인데

가져다 쓰기 위해서는 리덕스에서 제공하는 훅이 필요하다.

app.js 컴포넌트에서 방금 만든 리듀서를 사용하고 싶다면!

그럼 변수를 선언하고 useSelector라는 훅을 사용해서 접근을 해야한다. 콜백함수를 인자로 받음 .

중앙저장소 전체에 있는 스테이트들을 매개변수로 받고 리턴을 하면 선언한 변수에 스테이트들이 담긴다! 객체로! 하나만 가져오고 싶으면 매개변수.가져오고 싶은 리듀서 하면 그것만 가져오게 된다.

0개의 댓글