inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Redux vs MobX (둘 다 배우자!)

2-4. redux-thunk

비동기 action 타입을 뭘로 지정해야 할까요?

해결된 질문

258

grs0412

작성한 질문수 18

0

 

//비동기
const logIn = (data: any): any => {
  return (dispatch: Dispatch<AnyAction>, getState: any) => {
    dispatch(logInRequest(data));
    try {
      return setTimeout(() => {
       dispatch(logInSuccess({
            id: 1,
            name: "userName",
            admin: true,
          })
        );
      }, 2000);
    } catch (error) {
      return dispatch(logInFailure(error));
    }
  };
};

const logInRequest = (data: any): AnyAction => {
  return {
    type: "LOG_IN_REQUEST",
    data,
  };
};

const logInSuccess = (data: any): AnyAction => {
  return {
    type: "LOG_IN",
    data,
  };
};

const logInFailure = (error: unknown) => {
  return {
    type: "LOG_IN_FAILURE",
    error,
  };
};

//login을 dispatch 
store.dispatch(logIn({ id: 1, name: "userName", admin: true }));

 

강좌코드를 타입스크립트로 변환해보고 있는중에 궁금한게 있어서 질문드립니다.

login 비동기 함수가 return 하는게 함수이고

setTimeOut함수 때문에 함수반환타입도 Action 타입이 아니라서

최종적으로 리턴타입이 () => NodeJS.Timeout | AnyAction이 되는것 같습니다

store.dispatch(login())을 하면 타입에러가 나오는데

login 리턴타입을 any로 바꿔주는거 말고 다른 방법으로 해결 할 수 있는 방법이 있을까요?

 

 

 

 

redux mobx

답변 1

0

제로초(조현영)

https://stackoverflow.com/a/64859884

이런 식으로 dispatch의 타입을 직접 변경해야 합니다. 리덕스툴킷에는 이 작업이 되어 있습니다.

context api, redux를 혼용하는건 별로일까요?

0

368

1

섹션 3 mobx autorun 관련 질문입니다.

0

255

1

thunk 미들웨어 잡업 중 논리로직 단계? 질문이 있습니다.

0

285

1

rootSaga에서 call를 사용하는 이유가 궁금합니다.

0

358

1

observable의 함수를 익명함수로 바꿔봤습니다.

0

383

1

useSelector 리랜더링 질문있습니다.

0

382

1

redux-thunk질문

0

432

1

state 변경 시 질문

0

346

1

state변경 시 질문

0

329

2

firstMiddleware와 thunkMiddleware 순서 질문

0

433

1

객체 동적 다이나믹 속성?? 질문

1

272

1

미들웨어 질문

0

247

1

리덕스 사가 실습 파일 확인 부탁드립니다!

1

581

2

1-6 강의에서 질문 있습니다!

1

359

1

redux-saga 깃헙 파일

0

369

1

createStore -> configureStore

0

300

1

전역 변수와 전역 상태 값

0

666

2

Redux toolkit 과 axios API 호출에 관한 질문입니다.

0

439

1

MobX Data

0

233

1

mobx state action 변화 감지 관련

0

718

1

mobx configure

0

208

1

리덕스 툴킷 과 saga질문

0

288

1

로깅 미들웨어 질문입니다

0

238

1

제너레이터 질문드립니다.

0

204

1