강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của yjkwon90730876
yjkwon90730876

câu hỏi đã được viết

[Gia hạn] Tạo NodeBird SNS bằng React

Thực hiện đăng ký thành viên

dispatch를 사용하는 함수 안에 async await

Viết

·

3K

0

회원가입을 요청하는 로직안에 성공과 실패에 따른 분기문을 한곳에 실행하고 싶은데 방법이 있나요?

(예시)

  const onSubmit = useCallback(async () => {
    try {
      const result = await dispatch({
        typeSIGN_UP_REQUEST,
        data: { emailpasswordnickname },
      });
      message
        .success("회원가입에 성공하셨습니다.")
        .then(() => Router.push("/").then());
    } catch (signupError) {
      message.error(JSON.stringify(signupErrornull4)).then();
    }
 }, []);

reactexpressnodejsreduxNext.js

Câu trả lời 3

1

zerocho님의 프로필 이미지
zerocho
Người chia sẻ kiến thức

2번을 의미합니다. takeLatest같은 건 또 따로 구현해주셔야 합니다.

0

yjkwon9073님의 프로필 이미지
yjkwon9073
Người đặt câu hỏi

1. axios.post 후에 then cath 붙이 된다는것은 사가나 thunk에서 사용하는 로직안을 뜻하는건가요? 

2. 현 로직에 dispatch 대신 axios.post를 사용하면 된다는 뜻인가요?
=>  이렇게 사용하게 된다면 saga의 takelatest나 takeEvery같은 saga 헬퍼 기능은 쓰기 힘들어 지겠네요.

 const onSubmit = useCallback(async () => {
    try {
      const response = await axios.post("/user", { emailpasswordnickname });
      message.success("회원가입에 성공하셨습니다.").then(() => Router.push("/").then());
    } catch (signupError) {
      message.error(JSON.stringify(signupErrornull4)).then();
    }
 }, []);

0

zerocho님의 프로필 이미지
zerocho
Người chia sẻ kiến thức

dispatch를 하는순간 로직이 리덕스쪽으로 이동해서 어렵습니다.

그냥 여기서 axios.post 후에 then catch 븥이시면 됩니다.

Hình ảnh hồ sơ của yjkwon90730876
yjkwon90730876

câu hỏi đã được viết

Đặt câu hỏi