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>-
tanstack query + suspense
멘토님이 tanstackquery와 suspense는 도입하는 걸 추천
tanstack query를 쓰면 네트워크 바운드 해결해주는데 suspense 굳이 써야하나?
두 개를 같이 쓰는 것인지, tanstackquery 안에 suspense 기능이 있는지 등 학습해보기.
https://happysisyphe.tistory.com/54
https://tanstack.com/query/v4/docs/react/examples/react/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/
-