20200321~ 20200322 TIL

sangminnn·2020년 3월 22일
0

기존의 Refactoring project를 진행하던 중 막히던 부분에 대해서 정리하는 것으로 TIL를 정리합니다.

  1. 원래는 액션 자체에 api를 넣어 그 값 자체로 error가 나타나면 받아올 수 있었기때문에 front측 코드에서 try, catch를 정해주었는데, saga로 custom하는 과정에서 액션 자체만이 아니라, 액션에 대해 request, success, failure 단계를 나누어주고 이에 따른 동작들을 정리해주었기 때문에, success 및 failure 코드에 원하는 동작을 넣어줘야한다.
    -> error처리에 대한 부분은 직접 failure에 넣어주어야 한다는 개념

  2. 이 부분이 가장 중요했는데, container측 코드에서 함수를 실행할 때, async 액션에 대한 request를 넣어준 다음, request 코드 다음에 바로 success동작에 의한 state변화를 즉각적으로 인지하지 못하는 문제가 생겨 container측에서 request코드에 이어 다른 reducer로 원하는 값을 전달해주지 못하는 경우가 발생하였음
    -> 한참을 고민한 결과, success 동작에서 직접 saga의 put메서드를 사용하여 side-effect(?)로 다른 reducer에 액션을 디스패치할 수 있다.

  3. 그리고 useCallback은 최적화하기위한 경우가 아니라면 함부로 쓰지말자 ..


이틀동안 진행하는 과정에서 2번 내용이 가장 중요했다.
계속해서 container측에서 해결하려는 틀에 갇혀 한참을 허우적거렸다.

profile
생각하며 코딩하려고 노력하는 개발자가 되겠습니다.

0개의 댓글