์ธ์ค์ค ๋ฆฌ์กํธ ๋ฉ์ ์ ๊ณผ์ ๋ฅผ ์ค๋นํ๋ฉด์ 6๊ฐ์ ์ ์ ์ ์ถํ๋ ๊ณผ์ ๋ฅผ ๋ค์ ๋ณด์๋ค. ์๊ฐ์ ์ซ๊ฒจ๊ฐ๋ฉด์ ํ๋ค๋ณด๋, ๊ต์ฅํ ๋๋ฌ์ด ๋ถ๋ถ์ด ๊ฝค ์๋ค. ์ด๋ฐ์ ๋ฐ ๊ธฐ๋ฅ์ ์ถ๊ฐํ๋ฉด์ ์ด๋ฐ์ ๋ฐ ์ต์
๊ณผ props๊ฐ ๋ค์ด๊ฐ๊ฒ ๋๊ณ , ๊ทธ๋ ๊ฒ ๋ชฌ์คํฐ ์ปดํฌ๋ํธ๊ฐ ๋์ด๊ฐ๋ค. ์คํ์ผ๋ง์ ํ ๋๋ ์ํ๋ ๋๋ก ๋ ๋๊น์ง ์์ ์ ์์ ์ ๊ฑฐ๋ญํ๋ค๋ณด๋ ๋งค์ฐ ๋ณต์กํด์ก๋ค. ๊ทธ๋์ ์ด๋ฒ ํฌ์คํ
์ 6๊ฐ์ ์ ๊ณผ์ ๋ฌผ ๋ฆฌํฉํ ๋ง์ ๊ธฐ๋ก! Recoil selectorFamily ์ปค์คํ
ํ
์ ์ด์ฉํด ๋ก์ง ์ถ์ํ Funtion as Child Component ํ์
๊ฐ๋ 1. ๋ค์ด๋ฐ ์ ์ผ ์๊ธํ๋ค. ๊ณ์ ๊ธฐ๋ฅ์ ์ถ๊ฐํ๋ฉด์ ๊ธ๊ธํ๊ฒ ๋ณ์๋ฅผ ๋ง๋ค์ด๊ฐ๋ค. Room, chats, chatList ๋ฑ์ ์ด๋ฆ์ด ๋ณ๋ค๋ฅธ ๊ธฐ์ค ์์ด ์ฌ์ฉ๋๋๊ฒ ์ค์ค๋ก๋ ๊ฐ๋นํ๊ธฐ ํ๋ค ์ ๋์๋ค..
์ค๊ฐ๊ณ ์ฌ ๊ธฐ๊ฐ ์ ๋ณด๋ด์
จ๋์.. ์ ๋ชป๋ณด๋์ต๋๋ค. ํํ ๋ค์ ํ๊ธฐ์ ๋ฌด์กฐ๊ฑด ๊ธฐ์์ฌ์ ๋ค์ด๊ฐ๊ฒ ๋ค๋ ์๊ฐ์ ๋ค์ ํ๋ฒ ํด๋ณด๋ฉด์, ์ด๋ฒ์ฃผ WIL์ ์ ๊ณ ์์ต๋๋ค. ์ค๊ฐ ํด์๊ธฐ๊ฐ๋์ ์ง์์ง์ํ๊ฒ ํ๋ก์ ํธ๋ฅผ ๊ฑด๋๋ ค๋ณด์์ต๋๋ค. 1. ์ด์ ์ ์์๋, ๋ฐํ
์ํธ ๊ด๋ จ ๋ฌธ์ ๊ฐ TodoItem๋ง๋ค ์๋ ๋ฐํ
์ํธ๋ฅผ ๋ ์์๋ก ์ฌ๋ ค์ ๊ด๋ฆฌํ๋๋ก ํ๋ค. ์ด์ ์ด๋ค ํฌ๋์์ ์ฐ ๋ฐํ
์ํธ์ธ์ง ๋ฐ๋ก ์ ์ ์๊ธฐ ๋๋ฌธ์, ์ ํ๋ ํฌ๋๋ฅผ ์ ์ญ์ํ๋ก ๊ด๋ฆฌํ๋๋ก ํ๋ค. useBottomSheet.tsx import { useRecoilState } from 'recoil'; import { ITodoItem } from '../interfaces/ITodoItem'; import { bottomSheetState } from '../sto..
๋ง๋ค์ด๋ ๊ณผ์ ์ปค๋ฆฌํ๋ผ์ ์ฐฌ์ฐฌํ ๋ค์ ๋ณด๋ค๊ฐ. ์ด๋ผ ์ด๊ฑฐ ํฌ๋๋ฉ์ดํธ ์๋๊ฐ? ํด์ GDSC ์คํฐ๋ ๊ธฐ๊ฐ ๋์ ํฌ๋๋ฉ์ดํธ ํด๋ก ์ฝ๋ฉ ํ๋ก์ ํธ๋ฅผ ์์ํด๋ณด๊ธฐ๋ก. ํด๋ก ์ฝ๋ฉ์ธ ๋งํผ ์ต๋ํ ๋๊ฐ์ด ์คํ์ผ์ ๋ฃ์ผ๋ ค ๋
ธ๋ ฅํ๋ค. ๊ฐ๊ณ ์๋ ์ฐ์ธ๋ฆฌํ ๊ธ๊ผด์ ๋ช๊ฐ ๋ฃ์ด๋ดค๋๋ฐ, ํ๋ฆฌํ
๋ค๋์๋ค. ์ข์ํ๋ ํฐํธ์ผ. ๊ทธ ์ธ์ ์ด๋ฏธ์ง๋ ์์ด์ฝ ๋ฑ์ ๊ฐ๋ฐ์๋๊ตฌ ๋คํธ์ํฌํญ์์ ๊ฐ์ ธ์ค๊ฑฐ๋ ํผ๊ทธ๋ง์์ ์ง์ ๋ง๋ค์ด svg๋ก ๋ด๋ณด๋ด ์ฌ์ฉํ๋ค. ์ฝ๋๋ฅผ ์ง๊ธฐ์ ์์ ์ปดํฌ๋ํธ ๊ตฌ์กฐ๋ฅผ ์ด๋ป๊ฒ ์งค์ง์ ๋ํด์ ๊ณ ๋ฏผ์ ๊ฝค ์ค๋ ํ์๋ค. ์ค์ ํฌ๋๋ฉ์ดํธ๋ฅผ ๋ณด๋ฉด ๋๋๊ทธ์ค ๋๋์ผ๋ก ํฌ๋๋ฅผ ์ฎ๊ฒจ ์์๋ฅผ ๋ฐ๊ฟ ์ ์๊ฒ ๋์ด ์๋ค. ์ฌ์ง์ด ๋ค๋ฅธ ์นดํ
๊ณ ๋ฆฌ๋ก๋! ํ์ง๋ง - ์นดํ
๊ณ ๋ฆฌ๋ณ ํฌ๋- -์นดํ
๊ณ ๋ฆฌ๋ณ ํฌ๋- ์ด๋ ๊ฒ ๋ถ๋ฆฌํด๋์ผ๋ฉด ๋์ค์ ๋๋๊ทธ์ค๋๋์ ๊ตฌํํ ๋ ๋ค๋ฅธ ์นดํ
..
ํ๋ก์ ํธ๊ฐ ๊ท๋ชจ๊ฐ ์ปค์ง๊ณ ๋์ค๊ฐ ๊น์ด์ง๋ฉด์ ํ์ผ์ import ํด์ฌ๋๋ง๋ค ๋ฒ๊ฑฐ๋ก์์ก๋ค. ../์ด 4๊ฐ๋ผ๋. ํ์
์คํฌ๋ฆฝํธ ๋ฆฌ์กํธ ํ๊ฒฝ์์ ์ ๋๊ฒฝ๋ก๋ฅผ ์ฌ์ฉํ ์ ์๋๋ก ์ธํ
์ ํด๋ณด์๋ค. ์ด๋ฒ ๊ธ์ ๊ทธ ์ฝ์ง์ ๊ธฐ๋ก. import { useAppDispatch } from '../../../../store/app/hooks'; import { dispatchItemName } from '../../../../store/slices/challengePayloadSlice'; import a1 from '../../../../assets/icons/itemName/a1.svg'; 1. Craco๋ก config ๊ฑด๋๋ฆฌ๊ธฐ ์ ๋๊ฒฝ๋ก๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์๋ webpack์ config๋ฅผ ๊ฑด๋๋ ค์ผ ํ๋ค. CRA๋ก ํ๋ก์ ํธ๋ฅผ ์..
๋ฆฌ์กํธ ํ๋ก์ ํธ๋ฅผ ๊นํ๋ธ ์ก์
์ ํตํด ๋์ปค ํ๋ธ์ ํธ์ฌํ๋ ๊ณผ์ ๊น์ง๋ ์ด์ ๊ธ์. ์กฐ์ง ๋ด์ deploy์ฉ ๋ ํฌ์งํ ๋ฆฌ๋ฅผ ํ๋ ํ์ ์ฌ์ฉํ๋ค. ์ด๊ณณ์์ ๋์ปค ์ปดํฌ์ฆ๋ฅผ ์ด์ฉํด ๋ฐฑ์๋, ํด๋ผ์ด์ธํธ, nginx ์ธ๊ฐ์ ์ด๋ฏธ์ง๋ฅผ ๋ฐ์์ ์คํํ๋ค. ๋จผ์ ๊นํ๋ธ ์ก์
๋ถํฐ. prod-deploy.yml name: Deploy to Ec2 on: workflow_dispatch: push: branches: - main jobs: build: name: Build runs-on: ubuntu-latest steps: - name: checkout uses: actions/checkout@master - name: create remote directory uses: appleboy/ssh-action@master wit..
๊นํ๋ธ ์ก์
๊ณผ ๋์ปค๋ฅผ ์ด์ฉํด ๋ฆฌ์กํธ ํ๋ก์ ํธ ์๋ ๋ฐฐํฌ ํ๊ฒฝ์ ๊ตฌ์ถํด๋ณด๊ธฐ. ๋์ปค์ ๊ดํ ์ธ๊ฐ์ ์ ์ญํ๊ณ ์ผ๋ง ์๋์๋ ์กฐ๊ธ ๋ฃ๋ค ๋ง์๊ณ , ๊ทธ ์ดํ๋ก CI/CD์ ๋ํ ๊ฒฝํ์ด ์์๊ธฐ ๋๋ฌธ์. ์ด ๊ธฐํ์ ์ ๋ฆฌ๋ฅผ ํด๋์ผ๊ฒ ๋ค๋ ์๊ฐ์ด ๋ ๋ค. ๋ด๊ฐ ํ ๋ถ๋ถ์ ํ๋ก ํธ ๋ ํฌ์งํ ๋ฆฌ ๊ด๋ จ ๋ฟ์ด์ง๋ง ํ์์ ๊ตฌ์ถํ ์ ์ฒด์ ์ธ ํ๋ฆ์ ์ ์ด๋ณด๊ฒ ์ต๋๋ค. ์ ์ฒด์ ์ธ ์ฝ๋๋ ์ด์ ์ ๊ณ ์ค๋ฝ ํ๋ก์ ํธ ํ๋ฉด์ ์ฐฌ์ง์ด๊ฐ ์ธํ
ํ๊ฑฐ ๋ณด๊ณ ์ด์ฌํ ๋ฏ์ด์ ๋ฐฐ์์์. ์ฌ์ฉํ ๊ฒ๋ค Github Actions Docker, Docker Compose Nginx ์ ์ฒด์ ์ธ ํ๋ฆ ํ๋ก ํธ ๋ ํฌ์งํ ๋ฆฌ์ main ๋ธ๋์น์ push Github Actions์์ ์ด๋ฒคํธ๋ฅผ ๊ฐ์งํ๋ฉด ๋ฆฌ์กํธ ํ๋ก์ ํธ๋ฅผ ๋น๋ํ๊ณ ๋์ปค ํ๋ธ๋ก push ์๋ก ๋ฐฐํฌ๋ฅผ ์ํ ๋ Deploy ๋ ํฌ์ง..
1. ์คํ ๋ฆฌ๋ถ ์ค์น ๊ธฐ์กด ํ๋ก์ ํธ์ ๋ฃจํธ ๋๋ ํฐ๋ฆฌ ๋ด์์ ์คํ .storybook ๋๋ ํ ๋ฆฌ ์์ main.js์ preview.js๊ฐ ์์ฑ๋๋ค. # Add Storybook: npx storybook init npm run storybook ๋ช
๋ น์ด๋ฅผ ํตํด ๋ก์ปฌํธ์คํธ 6006๋ฒ ํฌํธ์์ ์คํํ ์ ์๋ค. 2. Styled-components ์ ์ฉ preview.js์์ ์ค์ ์ ํด์ค๋ค. import React from 'react'; import { ThemeProvider } from 'styled-components'; import { GlobalStyle } from '../src/lib/styles/global-style'; import { theme } from '../src/lib/styles/t..
'๐งโ๐ป ์งง์ํธํก/React' ์นดํ
๊ณ ๋ฆฌ์ ๊ธ ๋ชฉ๋ก (2 Page)
๋จ์ถํค
๋ด ๋ธ๋ก๊ทธ
๋ด ๋ธ๋ก๊ทธ - ๊ด๋ฆฌ์ ํ ์ ํ |
Q
Q
|
์ ๊ธ ์ฐ๊ธฐ |
W
W
|
๋ธ๋ก๊ทธ ๊ฒ์๊ธ
๊ธ ์์ (๊ถํ ์๋ ๊ฒฝ์ฐ) |
E
E
|
๋๊ธ ์์ญ์ผ๋ก ์ด๋ |
C
C
|
๋ชจ๋ ์์ญ
์ด ํ์ด์ง์ URL ๋ณต์ฌ |
S
S
|
๋งจ ์๋ก ์ด๋ |
T
T
|
ํฐ์คํ ๋ฆฌ ํ ์ด๋ |
H
H
|
๋จ์ถํค ์๋ด |
Shift + /
โง + /
|
* ๋จ์ถํค๋ ํ๊ธ/์๋ฌธ ๋์๋ฌธ์๋ก ์ด์ฉ ๊ฐ๋ฅํ๋ฉฐ, ํฐ์คํ ๋ฆฌ ๊ธฐ๋ณธ ๋๋ฉ์ธ์์๋ง ๋์ํฉ๋๋ค.