[항해99 3기]WIL 52일차 일지

KBS·2021년 11월 3일
0

항해99 3기

목록 보기
10/14

  • [김범수] 작업중 생긴 문제 및 해결
    • 리듀스에서 state의 키값에 접근하는 법
      • State[Key]
      • JavaScript 객체의 키와 값 배열로 받기 http://www.gisdeveloper.co.kr/?p=11005
      • 필터별로 포스트를 받아오는것, 페이지 이동으로 인해 받아오는것 제한
        1. 초기상태일때에서 무한스크롤과 필터를 눌렀을 때의 무한스크롤에 차이를 두어야 한다.
          • 해결방법: 현재 Filter 스택과 이전의 Filter스택을 비교하여 분기를 두어 push를 할지 = 으로 갈아 끼울지 정하였다.
        2. 페이지 이동을 했을때, 메인페이지의 UseEffect로 인해 현재 가지고 있는 포스트에서 추가적으로 더 불러오는 현상 발생.
          • 해결방법 :
        3. 메인페이지에서 Filter와 Sort, Infinity Scroll 등 처리해야할 요소들이 많아지면서 포스트를 로딩하는 속도가 저하되는 현상 발생.
          • 해결방법: 각 모듈을 따로 만들어 불러오는 형식으로 포스트를 불러오는 API를 경량화 하였더니 속도가 개선되었다.
    • 마크다운 게시판 구현 및 이미지 처리 ToastUiEditor 라이브러리를 사용하여 마크다운 에디터를 구현하였다.
      • 이미지를 드래그 하거나 파일찾기로 이미지를 추가할 경우 base64 형식으로 에디터에 출력되는 현상.
      • 이를 해결하기 위해 시도해본 방법 2가지
        1. ref의 current를 이용하여 이미지가 추가되었을 때 그것을 읽어서 removeHook("addImageBlobHook") 과 addHook("addImageBlobHook")를 이용함.

          (이유 : remove를 하지 않을경우 url과 base64 모두 화면에 출력되었기 때문)

        2. Editor에서 Hooks를 이용해 AddImageBlobHook(이미지가 추가되었을때 반응함) 을 이용

      • 값을 서버에 넘기는 과정에서 null값이 넘어가는 현상 발생. base64를 처리하는 시간이 오래걸리기 때문이었고, 이를 위해reader.onloadend 안에 후속처리를 넣어주어야 했다. ⇒ 후속처리에 async await 과 then catch 모두 시도해보았다. 통신이 모두 끝났을 때, callback(url, "alt-text") 를 통해 화면에 나타내 주었다.
    • 마이페이지에서 필터 값에 따라 보여줄 화면이 하단에서 바뀌어야함
profile
FE DEVELOPER

0개의 댓글