• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

redux promise와 chunk관련 질문입니다.

22.03.11 17:45 작성 조회수 226

0

안녕하세요.  완강이후 혼자 해보려구 redux를 사용하는데, dispatch.then이 사용이 불가하다고 나옵니다.

찾아보니 dispatch는 동기식이라 .then()이 사용이 불가하다는데, 이때 chunk을 사용하여 비동기로 사용하는 것인가요?

이 둘의 역할이 궁금합니다.

답변 1

답변을 작성해보세요.

0

안녕하세요 
여기서 설명드리는 것 보다 
제가 자료 만들어 놓은 것에서 더 잘 설명이 되어있을것 같습니다 
한번 참조해주시면 감사하겠습니다. 
https://drive.google.com/file/d/1tjspJlqSbawxGceUCIk6iZuJ0Isim4iv/view?usp=sharing
감사합니다.

성민최님의 프로필

성민최

질문자

2022.03.11

안녕하세요. 리덕스의 활용은 이해했습니다만 두가지 질문입니다.

1.

리덕스 자체는 동기실행이라고 하는데, redux-thunk를 사용하여 비동기로 사용한다고 합니다.

아예 boiler plate부터 혼자 다시 만들어진행중에 있는데,

강의에서의 진행 중

dispatch(registerUser(dataToSubmit)).then((response) => {

와 같은 형식으로 사용합니다.

이 사용법을 모르겠습니다.

dispatch또한 동기실행이라 redux-thunk를 사용해주어야 .then()함수를 사용 가능하다고 하는데, 

install후 실행해 보아도 404에러가 나옵니다.

 

redux-thunk와 promiseMiddleware에 대해 찾아보고 있지만 명확히 뭔지 이해가 안가며 우선 공식 문서의 예시코드로 진행해 보는데 마찬가지로 오류가 발생합니다ㅠㅜ 

 

redux-thunk와 redux-promise의 역할과 이 thunk를 통해 dispatch(action()).then()과 같은 형식으로 사용이 되는 이유와 방법 알 수 있을까요 ?

 

2. 리덕스 action을 쓰지 않고 fetch를 사용하였을때는

fetch("http://localhost:5000/api/user/register", {
            method: "post",
            headers: {
              "Content-Type": "application/json",
            },
            body: JSON.stringify({
              userInfo,
            }),
          })
            .then((res) => res.json())
            .then((res) => {
              console.log(res);
          });

도매인이 위와 같이 5000번 포트까지 다 작성되는데, 

강의의 action에는

export function registerUser(dataToSubmit) {
  const request = axios
    .post(`${USER_SERVER}/register`, dataToSubmit)
    .then((response) => response.data);

  return {
    type: REGISTER_USER,
    payload: request,
  };
}

같이 /api/users/register 주소로 post가 보내집니다.

혹시 앞에 http://localhost:5000이 없이 post가 보내지는걸까요 ?