๐Ÿ“‹ ์ฝ์„ ๊ฑฐ๋ฆฌ-2

Bora Imยท2022๋…„ 4์›” 11์ผ
1

์ฝ์„๊ฑฐ๋ฆฌ

๋ชฉ๋ก ๋ณด๊ธฐ
2/7

๋ฆฌ์•กํŠธ ์•„ํ† ๋ฏนํŒจํ„ด ์ ์šฉ๊ธฐ

์•„ํ† ๋ฏน ๋””์ž์ธ(Atomic Design) ์ ์šฉ๊ธฐ


์•„ํ† ๋ฏน(Atomic) ์ปดํฌ๋„ŒํŠธ ๋””์ž์ธ ๊ฐœ๋ฐœ ํŒจํ„ด

์ฝ”๋“œ ์žฌ์‚ฌ์šฉ ์ตœ์ ํ™” ์ปดํฌ๋„ŒํŠธ ๊ด€๋ฆฌ๋ฒ•

์žฌ์‚ฌ์šฉ์„ฑ์„ ๊ณ ๋ คํ•œ ์ปดํฌ๋„ŒํŠธ์˜ ๋ถ„๋ฆฌ


/container/FriendPage
/component/FriendList

๋‹จ๋‹จํ•œ ์ปดํฌ๋„ŒํŠธ ๋ถ€์ˆ˜๊ธฐ | ํ•€๋‹ค Finda

๋ฆฌ์•กํŠธ๋Š” ์ƒ์†๋ณด๋‹ค๋Š” ์กฐํ•ฉ

"์กฐํ•ฉ ๊ธฐ๋ฐ˜ ์ปดํฌ๋„ŒํŠธ"

์ œ์–ด์—ญ์ „ (Inversion of Control)


๋‚˜๋Š” ๋ฆฌ์•กํŠธ๋ฅผ ์–ด๋–ป๊ฒŒ ์„ค๊ณ„ํ•  ๊ฒƒ์ธ๊ฐ€?


components - containers pattern
https://github.com/velopert/velog-client/tree/master/src/components
https://github.com/velopert/velog-client/tree/master/src/containers

์ปดํฌ๋„ŒํŠธ๋ฅผ ์–ด๋–ป๊ฒŒ ๋งŒ๋“ค์–ด์•ผ ํ• ๊นŒ?

  • Presentational & Container Components : ์ฑ…์ž„์ด ์ค‘์•™์ง‘์ค‘๋œ ์ ˆ์ฐจ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ

  • Custom Hooks : ์ฑ…์ž„์ด ๋ถ„์‚ฐ๋œ ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ

ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ ์žก๊ธฐ | vlpt


e.g. https://github.com/vlpt-playground/react-memo-app

Container์™€ Component

๐Ÿ”ผ6๋…„ ์ „

nextjs ํŒŒ์ผ๊ตฌ์กฐ

TypeScript ํ™˜๊ฒฝ์—์„œ Redux๋ฅผ ํ”„๋กœ์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•˜๊ธฐ


React์—์„œ ์ปดํฌ๋„ŒํŠธ ๊ฒฝ๋กœ ๊น”๋”ํžˆ ๊ด€๋ฆฌํ•˜๊ธฐ


์ƒ๋Œ€๊ฒฝ๋กœ ์ง€์˜ฅ์—์„œ ๋ฒ—์–ด๋‚˜๊ธฐ : craco


next.js ํŒŒ์ผ(ํŽ˜์ด์ง€) ๊ตฌ์กฐ

Next.js ํ”„๋กœ์ ํŠธ ๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ์กฐ


๋ฆฌ๋•์Šค ๋ชจ๋“ˆ ๋งŒ๋“ค๊ธฐ - ๋•์Šค ํŒจํ„ด(Ducks pattern)

Redux - Ducks ํŒจํ„ด

ducks-modular-redux | Github

Ducks ๊ตฌ์กฐ์™€ redux-actions ์‚ฌ์šฉํ•˜๊ธฐ


mobx ์•Œ์•„๋ณด๊ธฐ | ๊ธฐ์–ต๋ณด๋‹ค ๊ธฐ๋ก์„


Next.js์˜ Routes

Next.js์˜ Pages

NextJS ๋กœ Static Site ๋งŒ๋“ค๊ธฐ




CSS๋ฐฉ๋ฒ•๋ก  : OOCSS, BEM, SMACSS

css ๋ฐฉ๋ฒ•๋ก  - BEM ๋ฐฉ์‹

BEM (Block Element Modifier) ์ด๋ž€?

CSS ๋ฅผ ํšจ์œจ์ ์ด๊ณ  ๋น ๋ฅด๊ฒŒ ์ž‘์„ฑํ•˜๊ธฐ ์œ„ํ•œ ์›น ๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•๋ก 

Atomic Design๊ณผ BEM (ABEM)

ABEM (Atomic design + BEM)

0๊ฐœ์˜ ๋Œ“๊ธ€