|
| 1 | +## hoc & render props |
| 2 | + |
| 3 | +hoc는 개인적으로 그리 좋아하지 않는 패턴임. |
| 4 | +이유는 외부에서 바로 알아볼 수 없기 때문. |
| 5 | +Suspensive를 안쓰는 이유도 이것. |
| 6 | + |
| 7 | +```jsx |
| 8 | +<div> |
| 9 | + <Something /> // 이거 왜 안보여? |
| 10 | +</div> |
| 11 | + |
| 12 | +// Something.tsx를 들어가서 한참 살펴보니... |
| 13 | +// WithAuth(Something) 였다거나... |
| 14 | + |
| 15 | +<div> |
| 16 | + <Something /> // 여기 서스펜스가 없는데 로딩 fallback이 왜 보이지? 혹은 여기 suspensive 적용했었나? |
| 17 | +</div> |
| 18 | +``` |
| 19 | + |
| 20 | +이게 소수정예로 뉴럴링크 공유하면서 개발하면 괜찮을 것 같은데, 조직 구조상 협업이 좀 어렵다? 그럼 곤란할 것 같음. |
| 21 | +그리고 리액트에서 이제 hoc대신 render props패턴을 사용하도록 권장한다는 얘기가 있었는데 못찾겠네요. |
| 22 | +[누군가 hoc와 render props 패턴에 대해 정리해둔 글](https://gist.github.com/heygrady/f9bf3b6dd93fe3d87ba87430fd3c20d5) |
| 23 | + |
| 24 | +## 리액트 Hooks 패턴 |
| 25 | + |
| 26 | +이것도 옛날에는 어떤 패턴이라고 불렀겠구나 싶었음. |
| 27 | +지금이야 그냥 당연히 hook으로 개발하지만, 클래스 > 함수로 넘어가면서 hooks도 패턴 중 하나로 취급됐었던 게 아닐까. |
| 28 | + |
| 29 | +## 코드 스플리팅 |
| 30 | + |
| 31 | +레이지 로딩은 잘 사용하면 효율적이지만, 번들 줄이기에만 몰두해서 오남용하면 안된다. |
| 32 | +[누군가 Suspense에 대해 정리해둔 글](https://blog.sjoleee.info/posts/suspense-1) |
| 33 | + |
| 34 | +가끔 모든 페이지에 lazy 걸어두고 번들 최적화했다는 내용을 보면 고민됨. |
| 35 | +처음 좀 느려도 미리 다 받아놔서 빠르게 이동하는게 react spa의 장점인데, 모든 페이지 진입마다 스피너 봐야하면 그건 장점을 계속 갖고있다고 봐야할까? |
| 36 | +좀 빠른 mpa랑 유저 입장에서 뭐가 다르지...? |
| 37 | + |
| 38 | +## PRPL 패턴 |
| 39 | + |
| 40 | +요즘 리액트와 넥스트가 대부분 해주는 내용이다. |
| 41 | + |
| 42 | +## 로딩 우선순위 |
| 43 | + |
| 44 | +회사에서 폴리필 스크립트를 우선 로딩해야하는데, script 태그 대신 import로 로드하고 있음. |
| 45 | +import로 로드하고, 해당 모듈을 react createRoot 이전에 실행되도록... |
| 46 | +이유는 잘 모르겠는데, script태그로 가져온 의존성은 번들러가 관리할 수 없는 것 같다. |
| 47 | + |
| 48 | +## 리스트 가상화 |
| 49 | + |
| 50 | +이건 좀 적용해보고 싶은데, 기회가 잘 없다. |
| 51 | +content-visibility는 모달이나 바텀싯 같은 컴포넌트에 적용하면 좀 도움이 되지 않을까? |
| 52 | +한편으로는 노드가 많지도 않고 오버레이 위에 복잡한 ui를 만들지 않아서 효과가 얼마나 있을지는 모르겠다. 오히려 페인팅 지연으로 유저 경험을 저해할 수 있지 않을까? |
0 commit comments