인프런 커뮤니티 질문&답변

김주호님의 프로필 이미지
김주호

작성한 질문수

[리뉴얼] React로 NodeBird SNS 만들기

팔로우, 언팔로우 구현하기

redux-toolkit 사용시 postReducer에서 authState 불러오는 방법

작성

·

164

0

redux-toolkit 사용시 postReducer에서 authState 불러오는 방법이 무엇이 있나요 ..?

구글링해도 잘 안나와서 질문드립니다. ㅜㅜ

 

export const postReducer = {
...

  followRequest: (state: PostState, action: any) => {
    //다른 state : AuthState 호출 방법

    state.followLoading = true;
    state.followDone = false;
    state.followError = null;
  },
}

[제로초 강좌 질문 필독 사항입니다]
질문에는 여러분에게 도움이 되는 질문과 도움이 되지 않는 질문이 있습니다.
도움이 되는 질문을 하는 방법을 알려드립니다.

https://www.youtube.com/watch?v=PUKOWrOuC0c

0. 숫자 0부터 시작한 이유는 1보다 더 중요한 것이기 때문입니다. 에러가 났을 때 해결을 하는 게 중요한 게 아닙니다. 왜 여러분은 해결을 못 하고 저는 해결을 하는지, 어디서 힌트를 얻은 것이고 어떻게 해결한 건지 그걸 알아가셔야 합니다. 그렇지 못한 질문은 무의미한 질문입니다.
1. 에러 메시지를 올리기 전에 반드시 스스로 번역을 해야 합니다. 번역기 요즘 잘 되어 있습니다. 에러 메시지가 에러 해결 단서의 90%를 차지합니다. 한글로 번역만 해도 대부분 풀립니다. 그냥 에러메시지를 올리고(심지어 안 올리는 분도 있습니다. 저는 독심술사가 아닙니다) 해결해달라고 하시면 아무런 도움이 안 됩니다.
2. 에러 메시지를 잘라서 올리지 않아야 합니다. 입문자일수록 에러메시지에서 어떤 부분이 가장 중요한 부분인지 모르실 겁니다. 그러니 통째로 올리셔야 합니다.
3. 코드도 같이 올려주세요. 다만 코드 전체를 다 올리거나, 깃헙 주소만 띡 던지지는 마세요. 여러분이 "가장" 의심스럽다고 생각하는 코드를 올려주세요.
4. 이 강좌를 바탕으로 여러분이 응용을 해보다가 막히는 부분, 여러 개의 선택지 중에서 조언이 필요한 부분, 제 경험이 궁금한 부분에 대한 질문은 대환영입니다. 다만 여러분의 회사 일은 질문하지 마세요.
5. 강좌 하나 끝날 때마다 남의 질문들을 읽어보세요. 여러분이 곧 만나게 될 에러들입니다.
6. 위에 적은 내용을 명심하지 않으시면 백날 강좌를 봐도(제 강좌가 아니더라도) 실력이 늘지 않고 그냥 코딩쇼 관람 및 한컴타자연습을 한 셈이 될 겁니다.

답변 2

1

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

일단 함수 내에서는 불가능한 것으로 보이고요.

리덕스 store를 import해온 뒤 store.getState()로 전체 state를 가져올 수 있습니다. store.getState().authState 하면 되겠죠.

또는 postReducer의 action을 dispatch 하기 전에 authState를 가져와서 dispatch action의 payload로 authState를 넣을 수도 있겠습니다.

0

김주호님의 프로필 이미지
김주호
질문자

function* follow(action: any) {
  try {
    yield delay(1000);
    yield put({
      type: followSuccess,
      data: action.payload,
    });
    yield put({
      type: addFollowingsToMe,
      data: action.payload,
    });
  } catch (error: any) {
    console.log("add comment error : ", error);
    yield put({
      type: followFailure,
      error: error,
    });
  }
}

늦은시간에 정말 빠른 답변 감사합니다!!!!

혹시 위 방법도 괜찮은 방법일까요 ??

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

네 그런 식으로 액션을 두 번 호출하셔도 됩니다.

김주호님의 프로필 이미지
김주호

작성한 질문수

질문하기