inflearn logo
강의

講義

知識共有

初めて出会ったRedux

(実践)カウンターアプリケーション

redux 상태와 관련하여 질문드립니다

128

ccccssung

投稿した質問数 5

1

function counter(state,action){
 if(typeof state ==="undefined"){
    return 0;
    }

switch (action.type){
  case "INCREMENT" return state +1;
  case "DECREMENT" return state -1;
  default : return state;
  }
}

var store = Redux.createStore(counter);
var calueELem = document.getElementById("value")
function render(){
   valueElem.innerHTML = store.getState().toString()
}

render();
store.subscribe(render);

여기 코드에서 궁금한 부분이 있어서 질문드립니다!
처음에 상태를 설정하지 않았는데 강사님은 왜 초기 상태 count 가 0이라고 하신건가요?

react redux redux-thunk redux-toolkit redux-saga

回答 2

0

soaple

안녕하세요, 소플입니다.

처음 createStore() 함수를 사용해서 Store를 생성하는 과정에서,

초기 state를 생성하기 위해서 파라미터로 받은 reducer가 한 번 호출 됩니다.

그리고 처음 호출 될 때는 counter() 함수에 아무런 파라미터를 넣지 않은 상태로 호출하기 때문에,

stateundefined이 되고 결국 0이 리턴됩니다.

이러한 과정을 통해 초깃 값이 0이 되는 것이라고 이해하시면 됩니다!

 

감사합니다.

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. CCCssung님!

리덕스에서 상태(state)는 애플리케이션이 어떻게 동작할지를 결정하는 중요한 요소입니다. 질문하신 부분에서, 초기 상태의 설정은 리덕스의 중요한 기능 중 하나입니다.

리덕스의 createStore 함수는 첫 번째 인자로 리듀서 함수를 받는데, 이 함수는 상태와 액션을 인자로 받아 새로운 상태를 반환합니다. counter 함수의 첫 부분을 보시면 if(typeof state === "undefined") { return 0; }라는 초기 상태를 설정하는 코드가 있습니다. 리듀서 함수가 처음 호출될 때는 의도적으로 상태가 undefined로 전달됩니다. 이때, 초기 상태를 리턴함으로써 상태가 정의되지 않은 경우 초기값을 설정할 수 있게 됩니다. 따라서, 코드에서는 초기 상태를 0으로 설정하고 있습니다.

즉, 코드를 통해 초기 상태를 0으로 명시적으로 설정하고 있으며, 이는 리듀서의 작동 방식 덕분에 가능해진 것입니다.

관련 내용에 대해 더 궁금하시다면 이 질문의 기존 답변을 참고해 보세요: 안녕하세요, Counter 애플리케이션 실습 부분에서 질문있습니다!

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

파워쉘에서 이미지 복붙이 안됩니다.

0

6

1

160 강의 ppt-maker에 대해

0

7

1

이벤트 관리 앱 프로젝트 개발 순서

0

6

0

render 함수에 관해 질문있습니다.

1

168

2

counter 애플리케이션에서 toString 질문입니다

1

256

1

redux-thunk CRA로 세팅 후 오류

1

283

2

redux-thunk 실습 오류

1

408

2

실습코드를 발을수 있는 곳이 있나요?

1

232

1

첫강의에 팝업 뜬 내용 못읽고 꺼버렸는데 무슨 내용이었는지 아시는 분

0

181

1

UI에 대한 질문이 있습니다

1

263

1

강의자료문의

0

247

1

기존 Storage API를 사용하지 않고 redux-persist를 사용하는 이유가 궁금합니다

1

329

2

counter 예제에서 script로 redux를 CDN으로 불러올 때

1

480

1

Ducks 패턴에 대해서

1

313

2

상태관리 불변성 질문드립니다

1

301

1

getDefaultMiddleware 질문 드립니다

1

368

1

강사님 질문이 있어요

1

250

1

저질문이있습니다 .

0

367

2

createStore()와 combineReducers()에 대한 질문

1

388

1

action creator에 관해서 질문이 있습니다!

1

310

1

todo 추가, 삭제, 모두삭제는 되는데 devtools에서 변화가 없어요

1

375

1

안녕하세요, Counter 애플리케이션 실습 부분에서 질문있습니다!

0

394

1

안녕하세요~ 혹시 pdf파일은 따로 제공안되나요?

1

619

3

안녕하세요! RTK Query 에 대해 궁금합니다

1

347

1