์ค๋์ ์ฐํด๊ฐ ๋๋ ๋ค ๋ณธ๊ฒฉ์ ์ผ๋ก ์์๋ React๋ฅผ ์์ตํ๋ค.
์ ์ฒด์ ์ธ ๊ตฌ์กฐ๋ ์ดํด๋์๊ณ props, router ๋ฑ์ ๊ฐ๋ง ์กํ๋ค.
๊ณต์๋ฌธ์๋ ์ด๋ฒ ๊ธฐํ์ ์ฒ์์ผ๋ก ์ ๋๋ก ์ฝ๋ ๊ฒ ๊ฐ์๋ฐ ์์ธ๋ก ์ฌ๋ฐ๋๊ฑธ ๐ค
- ํ์ต์๋ฃ
MDN Getting started with React
React Introducing JSX
๋ณํ๋ ํ๊ฒฝ์์ ์์ ์ ๋ช์ ๋น ์ง์ง ์๊ธฐ ์ํด์์ด๋ค. ์ฌ๊ธฐ์ ๊ฐ์ฅ ๋ง์ด ๊ธฐ์ฌํ๋ react ํน์ฑ์ด ์ปดํฌ๋ํธ๋ค. ui๊ฐ ๋ณ๊ฒฝ๋์ด๋ html์ ๋ฏ์ด๊ณ ์น๋ ๊ณผ์ ์์ด ์กฐ๋ฆฝ๋ง ๋ค์ํ๋ฉด ๋๋๊น!
๋ฆฌ์กํธ์์๋ ์ปดํฌ๋ํธ๋ณ๋ก ํ์ผ์ ๋ณ๋๋ก ๊ด๋ฆฌํ๋ ๊ฒ์ด ๋ณดํธ์ ์ด๋ค. ์ด๋ก์ธํด ๊ฐ๋ฐ์๋ ํน์ ๊ธฐ๋ฅ์ ๋ณ๊ฒฝํ๊ธฐ ์ํด์ ์ด๋ ๊ฒ์ ์์ ํด์ผํ๋์ง ๋ช ํํ๊ฒ ์ ์ ์๋ค.
ํ์ผ๊ตฌ์กฐ
/
โโโ /Twittler React SPA
โ โโโ README.md
โ โโโ /public # create-react-app์ด ๋ง๋ค์ด๋ธ ํ์ผ, yarn/npm start๋ก ์คํํ ์์ ์ฐ์
๋๋ค
โ โโโ /src # React ์ปดํฌ๋ํธ๊ฐ ๋ค์ด๊ฐ๋ ํด๋
โ โโโ static # dummyData๊ฐ ๋ค์ด๊ฐ๋ ํด๋
โ โ โโโ dummyData.js
โ โโโ Pages # ํ์ด์ง๋ฅผ ํ์ํ๋ ์ปดํฌ๋ํธ๊ฐ ๋ค์ด๊ฐ๋ ํด๋
โ โ โโโ About.css
โ โ โโโ About.js
โ โ โโโ MyPage.css
โ โ โโโ MyPage.js
โ โ โโโ Tweets.css
โ โ โโโ Tweets.js
โ โโโ App.css
โ โโโ App.js
โ โโโ Footer.js
โ โโโ index.js
โ โโโ Sidebar.js
โ package.json
โ .gitignore
static/index.js์๋ ReactDOM.render()ย ํจ์๋ฅผ ํธ์ถํ๋ฉฐ, ๋ค์๊ณผ ๊ฐ์ ๋๊ฐ์ ์ธ์๋ฅผ ๋ฐ๋๋ค.
ReactDOM.render(<App />, document.getElementById('root'));
<App />root๋ผ๋ ID๋ฅผ ๊ฐ์ง ์์root๋ public/index.html ํ์ผ์ <body>ย ๋ด๋ถ์ย <div id='root'>ย ์์์์ ์ฐพ์ ์ ์๋ค. ์ฆ, App์ด ๋ ๋๋ง๋๋ฉด div์ ํ์ ์์๋ก ์์ฑํ ํ๊ทธ๋ค์ด ๋ค์ด๊ฐ๋ค.
๊ฐ ์ปดํฌ๋ํธ(ํจ์)์ ๋ฆฌํด๋ฌธ ์์๋ html์ ์์ฑํ๊ณ ์ถ์ ํ๊ทธ๋ค์ ๋ฃ์ด์ฃผ๋ฉด ๋๋ค.
์ปดํฌ๋ํธ๋ ์ฌ์ฌ์ฉ์ฑ๊ณผ ์ ์ง๋ณด์์ฑ์ด ๋๋ค. ํ์ง๋ง ์ปดํฌ๋ํธ ๋ด๋ถ์ ์ ์ธ๋ ๋ณ์๋ ๋ค๋ฅธ ์ปดํฌ๋ํธ๊ฐ ์ฌ์ฉํ ์ ์๋ค. ๋ฐ๋ผ์ ์ปดํฌ๋ํธ๋ฅผ ๋ง๋ค ๋ ์ด๋ฌํ ์ ๋ ๊ณ ๋ คํด์ผ ํ๋ค.
๊ฐ ์ปดํฌ๋ํธ ํ์ผ์ ๋ณด๋ฉด ์๋จ์ import๋ฌธ์ด ์์ฑ๋์ด ์๋ค. {์ค๊ดํธ}๋ก ๋ถ๋ฌ์จ import๋ฌธ์ ๋ญ์ง ํ๋๋ฐ, export์ ์ฐจ์ด์๋ค.
export๋ฅผ defalt๋ก ์ฃผ๋ฉด React๋ฌธ์ฒ๋ผ importํด์ค๊ณ ,
export๋ฅผ {dummyTweets} ํํ๋ก ์ฃผ์์ผ๋ฉด {dummyTweets}๋ก importํ๋ค.
from์ด ์๋ import๋ ์นํฉ์ด๋ค.
import React from 'react';
import { dummyTweets } from '../static/dummyData';
import './Tweets.css';
๋ด์ผ์ props, router ๊ณต๋ถํ๊ณ ๊ณผ์ ๋ ๋ฏธ๋ฆฌ ํด๋ด์ผ๊ฒ ๋ค. ๊ทธ๋ฆฌ๊ณ ํ์ต์ค์ ํค์๋๋ ๋ฐ๋ก ์ ์ด๋์ผ๊ฒ ๋ค. (ํ๋ฃจ๋ ์ฑ ์ง๋์ง ์์๋๋ฐ ๋ง์ด ๊น๋จน์ ๊ฒ ๊ฐ๋ค.. ๐ฅฒ)