저는 TypeScript React 응용 프로그램에서 액션과 리듀서를 간단하게 작성하기 위해 typescript-fsa
및 typescript-fsa-reducers
패키지를 사용하고 있습니다. 구성 요소의TypeScript에서 React, Redux를 사용하여 API 호출하는 방법
const actionCreator = actionCreatorFactory();
export function signInHandler(state: UserState, action: Action): UserState {
// ????
return { ...state };
}
export const signIn = actionCreator.async<SignInRequest, RequestResponse<SignInResponse>>("USER_SIGNIN");
export const UserReducer = reducerWithInitialState({ signedIn: false } as UserState)
.casesWithAction([signIn.started, signIn.done], signInHandler)
.build();
사용법 :
export default connect<StateProps, DispatchProps>(
(state: RootState) => ({} as StateProps),
(dispatch: Dispatch<RootState>) => {
return {
signIn: (userName: string, password: string) => dispatch(signIn.started(new SignInRequest(userName, password)))
};
}
)(SignIn);
그리고 지금은 갇혔어요. API에서 응답이 도착할 때 구성 요소가 다음 작업을 전달할 때 요청을 보낼 수 있도록 API에 HTTP 호출을하는 방법을 모르겠습니다. 약속을 사용하고 싶습니다. 어떻게 해결할 수 있습니까?
'typescript-fsa'에서 비동기 작업에 대한 문서를 보았습니까? https://github.com/aikoven/typescript-fsa#async-action-creators –
예,하지만 어디에서 API 호출을해야하는지 잘 모르겠습니다. 액션, 액션 크리에이터 또는 리듀서? 예제를보고 싶다. – micnyk