5์›”2์ผ TIL - React

ํฌ๋กฑยท2023๋…„ 5์›” 2์ผ
0

React

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

๐ŸŽ… ๊ธฐ๋ณธ ๊ตฌ์กฐ

index.js์™€ App.js ๋‘๊ฐ€์ง€ ํŒŒ์ผ์ด ์žˆ๋‹ค.

App.js๋Š” ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋งŒ๋“œ๋Š” ํ•จ์ˆ˜๊ฐ€ ๋“ค์–ด์žˆ๋‹ค
index.js ๋Š” App.js์—์„œ ํ•จ์ˆ˜๋ฅผ import๋กœ ๊ฐ€์ ธ์™€์„œ ํ™”๋ฉด์— ๋ Œ๋”๋งํ•ด์ค€๋‹ค.




  • App.js
    ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋งŒ๋“ค์ž
import React from 'react';
import './style.css';

function App() {
  return (
    <div>
      <h1>Hello !</h1>
      <p>Start editing to see some magic happen :)</p>
    </div>
  );
}

export default App;

๐ŸŽ„ DOM์— ๋ฆฌ์•กํŠธ ์ปดํฌ๋„ŒํŠธ ๋ Œ๋”๋งํ•˜๊ธฐ!

  • index.js

const rootElement = document.getElementById('root');
const root = createRoot(rootElement)
root.render(<App />)

import React, { StrictMode } from 'react';
import { createRoot } from 'react-dom/client';

import App from './App';

const rootElement = document.getElementById('root');
//html์— <div id='root'></div>๊ฐ€ ์žˆ๋‹ค. ์•ˆ์—๋„ฃ์–ด์ค˜์•ผํ•œ๋‹ค.
const root = createRoot(rootElement);

root.render(<App />);

๐ŸŽ„ ์˜ˆ์‹œ

  • App.js
function GreetingJsx({ name }) {
  return <h1>hello~!{name}</h1>;
  //๋งŒ์•ฝ return ๊ฐ’์ด ์—ฌ๋Ÿฌ์ค„์ด๋ฉด ()์— ๊ฐ์‹ธ์ฃผ๊ธฐ
}

function App() {
  return React.createElement(
    GreetingJsx, { name: 'ํฌ๋กฑ' }
  )
}

export default App;
  • index.js
import App from './App';

const rootElement = document.getElementById('root');
const root = createRoot(rootElement);

root.render(<App />);
  • ๊ฒฐ๊ณผ



๐ŸŽ… props

function App()์—์„œ
์ปดํฌ๋„ŒํŠธ<Header /> ์•ˆ์— title='๋ฆฌ์•กํŠธ' ๋ผ๊ณ  ๋˜์–ด์žˆ๋‹ค.
์ด title='๋ฆฌ์•กํŠธ'๊ฐ€ Header ์ปดํฌ๋„ŒํŠธ ํ•จ์ˆ˜์˜ ์ธ์žprops๋กœ ๋“ค์–ด๊ฐ€๊ฒŒ๋จ.

์ฝ˜์†” ๋กœ๊ทธ๋œ ๊ฒฐ๊ณผ๋ฅผ ์‚ดํŽด๋ณด๋ฉด
props ๋Š” object์ด๋‹ค.




๋ฐ˜๋ณต๋ฌธ ์ด์šฉํ•ด๋ณด๊ธฐ

console.log(props)์˜ ๊ฒฐ๊ณผ

const topics ๊ฐ€ ๋ฐฐ์—ด์ด๋ฏ€๋กœ
Nav(props) ์—์„œ props๋กœ ๋“ค์–ด๊ฐ„ topics๋Š” object์•ˆ ๋ฐฐ์—ด
topics๋ž€ key๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค!

๊ฒฐ๊ณผ

profile
๐Ÿ‘ฉโ€๐Ÿ’ป์•ˆ๋…•ํ•˜์„ธ์š”๐ŸŒž

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