๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ’ปWEB FrontEnd/ํ”„๋ ˆ์ž„์›Œํฌ React

React ์ปดํฌ๋„ŒํŠธ

๋ฆฌ์•กํŠธ์—์„œ ๋™์ ์ธ UI ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•

1. html css๋กœ ๋ฏธ๋ฆฌ UI ๋””์ž์ธ์„ ๋‹ค ํ•ด๋†“๊ณ 

2. UI์˜ ํ˜„์žฌ ์ƒํƒœ๋ฅผ state๋กœ ์ €์žฅํ•ด๋‘๊ณ 

3. state์— ๋”ฐ๋ผ์„œ UI๊ฐ€ ์–ด๋–ป๊ฒŒ ๋ณด์ผ์ง€ ์กฐ๊ฑด๋ฌธ ๋“ฑ์œผ๋กœ ์ž‘์„ฑ

 

step 1. html css๋กœ ๋ฏธ๋ฆฌ ๋””์ž์ธํ•ด๋†“๊ธฐ

<div className="modal">
  <h4>์ œ๋ชฉ</h4>
  <p>๋‚ ์งœ</p>
  <p>์ƒ์„ธ๋‚ด์šฉ</p>
</div>

 

step 2. UI์˜ ํ˜„์žฌ ์ƒํƒœ๋ฅผ state๋กœ ์ €์žฅ

state ํ•˜๋‚˜ ๋งŒ๋“ค๊ณ  ๊ฑฐ๊ธฐ์— ํ˜„์žฌ UI์˜ ์ƒํƒœ์ •๋ณด๋ฅผ ์ €์žฅ

let [modal, setModal] = useState(false);
let [modal, setModal] = useState('๋‹ซํž˜');
let [modal, setModal] = useState(0);

 

step 3. state์— ๋”ฐ๋ผ์„œ UI๊ฐ€ ์–ด๋–ป๊ฒŒ ๋ณด์ผ์ง€ ์ž‘์„ฑ

function App (){
  let [modal, setModal] = useState(false);
  return (
     //์‚ผํ•ญ์—ฐ์‚ฐ์ž 
     //์กฐ๊ฑด์‹ ? ์ฐธ์ผ ๋•Œ : ๊ฑฐ์ง“์ผ ๋•Œ
     modal == true ? <Modal/> : null
  )
}

 

์™„์„ฑ๋œ ์ฝ”๋“œ

import { useState } from 'react';
import './App.css';

function App() {
  let [modal, setModal] = useState(false)

  return (
    <div className="App">
      {
        //์‚ผํ•ญ์—ฐ์‚ฐ์ž 
        //์กฐ๊ฑด์‹ ? ์ฐธ์ผ ๋•Œ : ๊ฑฐ์ง“์ผ ๋•Œ
        modal == true ? <Modal/> : null
      }
    </div>
  );
}

function Modal(){
  return (
    <div className="modal">
      <h4>์ œ๋ชฉ</h4>
      <p>๋‚ ์งœ</p>
      <p>์ƒ์„ธ๋‚ด์šฉ</p>
    </div>
  )
}

export default App;