๐บ Front End/-- react & redux & nextjs33 [React-redux] ๋ ๊ทธ๋ ๋ฏ Todo List ๋ฅผ ๋ง๋ค์ด๋ณด๋ฉฐ ๋ฐฐ์ฐ๋ ๋ฆฌ์กํธ ๋ฆฌ๋์ค ์ค๋์ React ์์ Redux ๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ํด์ ์์๋ณด๋๋ก ํ๊ฒ ๋ค. ๊ทธ๋ฌ๊ธฐ ์ํด์๋ ์ฐ์ 2๊ฐ์ง ๊ธฐ์ ์ด ์ ํ๋์ด์ผ ํ๋ค. React์ React-Hooks Redux ์ ๊ธฐ๋ณธ Concept ์ ๋ด์ฉ๋ค์ ๋ชจ๋ฅธ๋ค๋ฉด ์กฐ๊ธ ํ๋ค์ด์ง ์ ์์ผ๋ ์ ๋งํฌ์์ ํ์ธํ๋ ๊ฒ๋ ์ข์ ๋ฐฉ๋ฒ์ธ ๊ฒ ๊ฐ๋ค. ๋ชฉ์ฐจ redux์ react-redux์ ์ฐจ์ด redux ์ ๊ธฐ๋ณธ ๊ฐ๋ ๊ตฌ์ฑ ์์ Provider useDispatch() useSelector() react-redux ๋ก todo list ๋ง๋ค๊ธฐ ํ๋ก์ ํธ ๋ง๋ค๊ธฐ ์์กด์ฑ ์ถ๊ฐ styled-components react-redux UI ์์ ํ๊ธฐ ํ ํ๋ฉด ๋ง๋ค๊ธฐ ๋ฆฌ๋์ค ์์ ํ๊ธฐ action type ๋ง๋ค๊ธฐ action creator ๋ง๋ค๊ธฐ reducer ๋ง๋ค๊ธฐ s.. 2021. 6. 10. [Next.js] Next.js ํ๋ก์ ํธ์์ Storybook์ผ๋ก TDD ํ๊ธฐ (Feat. Atomic Design Pattern) Storybook์ด๋? Storybook์ UI ๊ตฌ์ฑ ์์(์ปดํฌ๋ํธ)๋ฅผ ๊ฐ๋ฐํ๊ธฐ์ํ ์คํ ์์ค ๋๊ตฌ์ด๋ค. React๋ Vue๋ฅผ ๋น๋กฏํ ์ปดํฌ๋ํธ ๊ธฐ๋ฐ UI ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ด ๋ง์์ง ํ๋์ ์น Front๊ฐ๋ฐ ์ํ๊ณ์์๋ ์ปดํฌ๋ํธ ํ๋ ํ๋์ ์ญํ ์ด ๋งค์ฐ ์ค์ํด์ก๋ค. ์ฌ๊ธฐ์ ์ปดํฌ๋ํธ๋ ์ธ๋ถ์ ์ํฅ์ ๋ฐ์ง ์๊ฒ Isolated ๋์ด์ผ ํ๋ค. ๊ทธ๋ฌ๊ธฐ ์ํด์ Atomic Design Pattern์ด๋ผ๋ ๊ฒ์ด ๋ฑ์ฅํ์๊ณ ๊ทธ์ ๋ฐ๋ผ์ UI ์์ฒด์ ๋ ๋๋ง์๋ ํ ์คํธ๋ฅผ ์ ๊ฒฝ์ธ ์ ์๊ฒ ๋์๋ค. Storybook์ ์ฌ์ค ํ ์คํธ์๋ง ๊ตญํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์๋๊ณ ๊ฐ๋ฐ๊ณผ ์ดํด๊ด๊ณ์๋ค ์ฌ์ด์์์ ์ํต๊ณผ Docs ๋ฐ Props Test๋ฅผ ์งํํด์ฃผ๋ ์ปดํฌ๋ํธ ๊ธฐ๋ฐ ์คํ ์์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ค. ์ฐ๋ฆฌ๋ ์ด Storybook์ ํตํด์ TDD๋ฅผ ์ง.. 2021. 1. 18. [Next.js] _document.js๋ก ๋ ์ด์์ ํ ํ๋ฆฟ์ ์ฌ์ฉํด์ html ๊ณผ body ํ๊ทธ ์ปค์คํฐ๋ง์ด์ง ํ๊ธฐ. Document ์ปดํฌ๋ํธ Next.js์๋ ํ๊ทธ์ ํ๊ทธ๋ฅผ ์กฐ์ํ๊ธฐ ์ํด์ ์ปดํฌ๋ํธ๋ฅผ ์ ๊ณตํ๋ค. Build ์์ ์ _document.jsํ์ผ์ pages ๋๋ ํ ๋ฆฌ ์์์ ํ์ํ๊ณ ๋ฅผ extends ํ ์ปดํฌ๋ํธ๋ฅผ ์ด์ฉํด์ ์ปค์คํ ์ค์ ์ ๋ฐ์๋คํ๋๋ฐ, ์ด๋ ํ์ ํ์ผ์ ์๋๋ฉฐ, ๋ง์ฝ ์ฐ๋ฆฌ๊ฐ ์ปค์คํ ํ์ง ์์ผ๋ฉด ๊ธฐ๋ณธ Next์ ๋ชจ๋์ ์กด์ฌํ๋ _document.js ํ์ผ์ ์คํ์ํจ๋ค. ํ๋ก์ ํธ๊ฐ ์ปค์ง ์๋ก HTML ํ๊ทธ๋ฅผ ์กฐ์ํด์ผํ ์ผ๋ค์ด ๋ง์์ง๋ฏ๋ก ์ฐ๋ฆฌ๋ _document.js์ ์ปดํฌ๋ํธ๋ฅผ ๋ค๋ฃฐ ์ ์๋ ๋ฅ๋ ฅ์ด ์์ด์ผ ํ๋ค. ๊ธฐ๋ณธ ๊ตฌ์กฐ pages ๋๋ ํ ๋ฆฌ ์๋์ _document.jsํ์ผ์ ์์ฑํ๋ค. import Document, { Html, Head, Main, NextScript } from 'next/d.. 2021. 1. 3. [Next.js] renderPage ํจ์๋ก styled-components ์ค๋ฅ ๋ฐฉ์งํ๊ธฐ. React ์์ ์คํ์ผ๋ง์ ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์๋ ๊ฐ์ธ์ ์ผ๋ก ๋จ์ฐ styled-components๊ฐ ์๋์ ์ผ๋ก ์ข๋ค๊ณ ์๊ฐํ๋ค. ํ์ง๋ง Next์์๋ styled-components๊ฐ ์ ๋๋ก ๋์ํ์ง ์์ ์ ์๋ค. ์ค๋ ๊ทธ ์ค๋ฅ๋ค์ ๋ถ์ํด๋ณด๊ณ ์ด๋ป๊ฒ ํ๋ฉด ํด๊ฒฐํ ์ ์๋์ง ์์๋ณด์. ๊ทธ๋ฅ styled-components๋ฅผ ์ฌ์ฉํ๋ค๋ฉด ์ด๋ค ๋ฌธ์ ๊ฐ ์๊ฐ๋์? Next.js ์ฑ์์ styled-components๋ฅผ ์ฌ์ฉํ๋ฉด ์คํ์ผ์ด ์ ์ฉ๋์ง ์๊ณ ์ผ์ ์๊ฐ ์ดํ์ ์คํ์ผ์ด ์ ์ฉ๋๋ค. ๋ง์น CSS ํ์ผ์ด ๋ก๋๋์ง ์๋ค๊ฐ ๊ฐ์๊ธฐ ๋ก๋๋๋ ๊ฒ ์ฒ๋ผ ๋ณด์ด๋๋ฐ, ์ด๋ UX์์ ๋์ ํ๊ฐ๋ก ๊ฐ์ธ๋ ์ ์๊ณ ์ฌ์ฉ์์๊ฒ ์์ฃผ ๋ถ์พํ ๊ฒฝํ์ ์ ์ฌํ ์ ์๋ค. ์ ๊ทธ๋ฐ ๋ฌธ์ ๊ฐ ์๊ธฐ๋์? Next๋ ์ฐ์ ๋ชจ๋ ํ์ด์ง๊ฐ Pre-R.. 2021. 1. 3. ์ด์ 1 2 3 4 ยทยทยท 9 ๋ค์