mung-mung / FE

1 stars 0 forks source link

서버 무응답 메시지를 토스트로 띄우기 #5

Closed cimkoreauniv closed 6 months ago

cimkoreauniv commented 6 months ago

axios interceptor를 사용해서 백엔드 서버가 응답하지 않을 시 에러 메시지를 토스트로 띄우려고 합니다.

아무래도 interceptor가 다른 context를 사용해서 useToast가 작동하지 않는 듯 하여, 일단은 alert를 사용해서 처리했습니다.

interceptor에서 hook을 사용하려면 아래와 같이 하면 된다고 하는데, 일단 적용시켜봤을 때는 작동을 하지 않았습니다. axios interceptor에서 hook 사용하기

SkeletonK10 commented 6 months ago

interceptor에서 toast 기능을 사용하는 데까지 성공했습니다! 그러나 error을 그대로 넘겨주기 때문에 뒤의 onError 함수도 실행되며, 결과적으로 toast가 두 개가 뜨게 됩니다. interceptor를 사용하기에 적절하지 않은 상황이라고 보여 일단 의견 묻습니다.

제 생각은, handleAxiosError 함수를 만들어 빼는 건 어떨까요? axios error 관련해서는 이쪽에서 케이스 처리를 해 주면 예쁘게 코딩이 될 것 같습니다. 말씀 주시면 리팩토링 들어가 볼게요!

SkeletonK10 commented 6 months ago

https://github.com/iamhosseindhv/notistack/issues/30#issuecomment-542863653

interceptor 및 모든 context에서 toast를 사용하는 방법입니다. RootProvider에 이렇게 구현해 놓으면 toast가 필요한 시점에서 간단히 띄울 수 있습니다. 이건 다른 이슈로 만들어 둘게요!