1113 회의록 - boostcampwm2023/baekjoonrooms GitHub Wiki

프론트 학습 및 회의 내용

  • 상태관리 라이브러리 필요? useContext로 충분할 듯.

    useState, useReducer, useContext로 충분히 커버 될 듯 함.

    어짜피 State 관리 메모리는 component에 있는게 아니라 따로 있음.


  • 라우터도 공부해 봐야함 → react-router-dom를 다 쓰는것 같음.

    leetrooms의 경우 라우터를 안썻는데, leetrooms는 익스텐션이라 그런 것 같음.

    백준룸즈는 적어도 로그인, 로비, 코딩방(추가한다면 마이페이지)까지는 나눠야 할 것 같음.


  • 아직 suspense에 대한 의문이 있음, tanstackquery는 써야할것 같음. → 이 둘에 대해 충분히 학습 후 도입한다면 명확한 도입 이유를 말해줘야 함.

  • suspense: 로딩 시 fallback 컴포넌트를 불러주는 기능
<Suspense fallback={<Loading />}
  <Albums artistId={artist.id} />
</Suspense>

  • 익스텐션에서 request를 다루기 위해 webRequest API를 사용할까 고민함.

    현재 최신 매니페스트 버전은 3인데 webRequest API는 매니페스트 버전 2까지 지원함.

    webRequest를 사용하기 위해 버전 2로 하면 다시 설정해야 할것들이 있음. → background 설정 등...

    매니페스트 버전 3에서 쓸 수 있는 webRequset와 비슷한 API인 declarativeNetRequest가 있음.

    https://developer.chrome.com/docs/extensions/reference/declarativeNetRequest/

    익스텐션 기능이 많지 않고 제출 버튼을 감지하는 것은 이벤트 버블링을 이용해서 할 수 있어서 복잡하게 declarativeNetRequest를 꼭 써야할지 고민해 볼 필요가 있음.

    => webRequest를 사용하기로 결정

    • webRequestBlocking은 매니페스트 v3에서 사용이 불가능하지만 그냥 webRequest는 가능하다.

    • 백준룸즈는 제출 페이지에서 제출 request가 발생할 때 그 request를 차단하거나 수정할 필요없이 그냥 서버에 보내주기만 하면 되기 때문에 webRequestBlocking이나 declarativeNetRequest를 사용할 필요가 없다. 즉, webRequest만 사용해도 충분하다.

    • webRequest는 background에서 돌아가기 때문에 제출 버튼 클릭 시 페이지가 바뀌는 것과 관련이 없다.

    웨일 익스텐션 문서 (크롬과 동일, 한글로 되있음.): https://developers.whale.naver.com/tutorials/mv3-migration-checklist/

⚠️ **GitHub.com Fallback** ⚠️