์ด ํฌ์คํ ์ ๊ณต์ React ์์ต์๋ฅผ ๋ณด๊ณ ์ํ์ฝ๋ฉ ๋ฆฌ์กํธ ๊ฐ์๋ฅผ ๋ฃ๊ณ ์ป์ ์ง์๊ณผ ๊ฒฐ๊ณผ๋ฌผ์ ์ ๋ฆฌํ ๋ด์ฉ์ด๋ฏ๋ก
์์ธํ๊ณ ํ์คํ ์ ๋ณด๋ฅผ ์ป๊ธฐ ์ํด์๋ ๊ณต์ ์ฌ์ดํธ๋ฅผ ํ์ธ ๋ฐ๋๋๋ค. (๐ ๊ณต์ ์ฌ์ดํธ ์ต๊ณ )
๋ฆฌ์กํธ ์์ค์ฝ๋ ์์ ๋ฐฉ๋ฒ
๋ฆฌ์กํธ๋ ์ฌ์ฉ์ ์ ์ ํ๊ทธ๋ฅผ ๋ง๋๋ ๊ฒ์ด๋ค.
์ค๋ ๊ฐ์๋ฅผ ๋ค์ผ๋ฉด์ ๋๋ ์ a to z ๊ฐ ์๋๋ผ a ๋ z๋ฅผ ์๋ ค์ค์ ์ ๊ธฐํ๋ค.
์ค์นํด์ ๋ฐฐํฌํ๋ ๊ณผ์ ๊น์ง๊ฐ ์๋๋ผ ์ค์น! ์์ ! ๋ฐฐํฌ! ๋ ์ด๊ฑฐ๋ค! ๋๋์ด์๋ค.
โ ์ค์น - ๐ฉ ์์ - ๐ฉ ๋ฐฐํฌ
๊ณผ์ ์ค์ ์ค์น๊น์ง๋ ๋๋๋ค.
์ด์ ๋ ์์ ์ ๋ํด์ ์์๋ณผ ์ฐจ๋ก๋ค.
์์ ์ ์ํ๊ธฐ๋ ์ด๋ ต๋ค ์ธ์์ ๋ฐ์ณ์ผ ํ๋ ์ผ์ด๋ค. < ์?
ํ์ง๋ง ์์ ํ๋ ๋ฐฉ๋ฒ์ 5๋ถ์ด๋ฉด ์ ์ ์๋ค.
src - index.js
npm ์ ์ด์ฉํด์ creative react app์ ๊ตฌ๋์ํค๋ฉด index.js ํ์ผ์ ์ฐพ๊ณ ์ ํ์๋ ๋๋ก ๋์ํ๋ค.
๋ง์ฝ์ vscode๋ฅผ ๊ป๋ค๊ฐ ๋ค์ react๋ฅผ ๊ตฌ๋์ํค๊ณ ์ถ์ผ๋ฉด
ctrl + j๋ก terminal์ ์ด๊ณ npm start๋ฅผ ์ ๋ ฅํ๋ฉด index.js์ ์คํํ ์ ์๋ค.
๊ทธ๋ฌ๋ฉด ์๋์ ๊ฐ์ ๋ช ๋ น์ด๊ฐ ํฐ๋ฏธ๋์ ๋จ๊ณ ์ฐฝ์ด ๋ฌ๋ค.
index.js ์ฝ๋
import React from 'react'
import ReactDOM from 'react-dom/client'
import './index.css'
import App from './App' /* src ์ ์๋ App.js ํ์ผ */
import reportWebVitals from './reportWebVitals'
const root = ReactDOM.createRoot(document.getElementById('root'))
root.render(
<React.StrictMode>
<App />
</React.StrictMode>
)
// If you want to start measuring performance in your app, pass a function
// to log results (for example: reportWebVitals(console.log))
// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
reportWebVitals()
<App /> ์ './App.js' ํ์ผ์ ๋งํ๋ฉฐ ๊ทธ ํ์ผ์ ์ฝ๊ณ ํ๋ฉด์ ๋ณด์ฌ์ค ๊ฒ์ด๋ค.
๋ง์ฝ์ App.js ์ ์๋ ๋ด์ฉ์ ์๋์ ๊ฐ์ด ์์ ํ๋ฉด ๋น๊ธ๋น๊ธ ๋์๊ฐ๋ ๋ก๊ณ ํ๋ฉด์์ ๋ค์๊ณผ ๊ฐ์ด ๋ฐ๋๋ค.
style์ ์ฉ์ src - App.css์์ ์จ ๊ฒ์ ์ ์ ์๋ค.
import๋ฅผ ํตํด์ ํ์ผ๋ค์ด ์ด๋ป๊ฒ ์ฐ๊ฒฐ๋์ด ์๋์ง ์ ์ ์๋ค.
App.js์ฝ๋
import logo from "./logo.svg";
import "./App.css";
function App() {
return <div className = "App" > Hello React! </div>;
}
export default App;
๊ฐ๋ต ์์ฝ
- index.js / index.css โก๏ธ ์ ์ญ์ ์ธ ์ค์
- App.js / App.css โก๏ธ ๋ด์ฉ์ ์์ ํ๋ฉด์ UI๋ฅผ ํธ์ง
์คํ๋ ํ๋ฉด์ ๊ฐ๋ฐ์ ๋๊ตฌ์ ๋ค์ด๊ฐ์ ๋ณด๋ฉด div class๊ฐ App ์ธ ๊ฒ์ App.js์์ ์จ๋ค.
๊ทธ๋ฌ๋ฉด ๊ทธ ์๋จ์ ์๋ id๊ฐ root์ธ ๋์ ๋ญ๋?
index.js ์ฝ๋๋ฅผ ๋ค์ ๋ณด์
import React from 'react'
import ReactDOM from 'react-dom/client'
import './index.css'
import App from './App' /* src ์ ์๋ App.js ํ์ผ */
import reportWebVitals from './reportWebVitals'
const root = ReactDOM.createRoot(document.getElementById('root'))
root.render(
<React.StrictMode>
<App />
</React.StrictMode>
)
// If you want to start measuring performance in your app, pass a function
// to log results (for example: reportWebVitals(console.log))
// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
reportWebVitals()
App ํ๊ทธ๊ฐ id ๊ฐ์ด root์ธ ํ๊ทธ๋ก rendering ๋๋ผ๋ ์ฝ๋๋ฅผ ๋ณผ ์ ์๋ค.
public - index.html ์ ๋ค์ด๊ฐ๋ฉด id๊ฐ root์ธ div ํ๊ทธ๋ฅผ ์ฐพ์ ์ ์๋ค.
index.html ์ฝ๋
์ง ! ์ root๊ฐ ์ด root๊ฐ ๋ง๋๋? ์ธ ๊ฒ์ ํ์ธํ๊ธฐ ์ํด style์ ์ฃผ๊ณ ํ์ธํด๋ณด๋ฉด ์ ์ ์๋ค.
์๋์ ๋ณด์ด๋ ๊ฑฐ์ฒ๋ผ ๋นจ๊ฐ์ ํ ๋๋ฆฌ๊ฐ ์ณ์ง๋ ๊ฒ์ ์ ์ ์๋ค.
react ํ์ผ๋ค์ด ์ด๋ค ์์ผ๋ก ๊ตฌ์ฑ๋์ด์๋์ง ์์๋ดค๋ค.
root๋ฅผ ์์ ํ๋ ค๋ฉด index.html๋ก ๊ฐ์ผ ํ๊ณ
App.js๋ ์ด๋์ ์์นํ๊ณ ์๊ณ ์ด๋ค css ํ์ผ๊ณผ ์ฐ๊ฒฐ๋์ด์๋์ง!
์ฒ์์ด๋ผ ๊ทธ๋ฐ์ง ํท๊ฐ๋ฆฐ๋ค๐
์ ์ง๋ณด์๋ฅผ ์ํด์ ์ ์ญ์ ์ธ ๊ฒ๊ณผ ์ธ๋ถ์ ์ธ ๊ฒ์ ๋๋ ๊ฑฐ ๊ฐ๋ค.
์น์ ์ง์ ๋ง๋ค๊ณ ๋ฆฌ์กํธ๋ก ๋ฐฐํฌํ๋ ๊ณผ์ ์ ๊ฑฐ์ณ์ผ์ง ์ค๋ ๋ฐฐ์ด ๊ฒ์ด ๋ ํ์คํ๊ฒ ์ดํด๋ ๊ฒ ๊ฐ๋ค.
๋ค์์๋ ๋ฐฐํฌ ๊ณผ์ ๊ณผ jsx์ ๋ํ ๊ฐ๋ต ๊ฐ๋ ๋ค์ ์ ๋ฆฌํด์ ํฌ์คํ ํ ์์ ์ด๋ค.
'Front-End > React' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฆฌ์กํธ TIL] ์ํ์ฝ๋ฉ ๋ฆฌ์กํธ 2022 - ๊ธฐ๋ณธ๊ฐ๋ (๋ฆฌ์กํธ/๋ผ์ด๋ธ๋ฌ๋ฆฌ), ์ค์ตํ๊ฒฝ ๊ตฌ์ถ (0) | 2022.06.14 |
---|