๐ŸŸฉ Frontend-HTML & CSS & +JS/๐Ÿ”ฐ React

React ์ปดํฌ๋„ŒํŠธ ์กฐ๊ฑด๋ถ€๋ Œ๋”๋ง+๊ธฐ๋ณธ์ƒํƒœ๊ฐ’ ์ง€์ • props (์‚ผํ•ญ์—ฐ์‚ฐ์ž, ํŠน๋ณ„ํ•œ๊ฑฐ๋ฉด โ˜…์„ ์ฑ„์šด๊ฒƒ์œผ๋กœ ํ‘œ๊ธฐ)

ramen2 2024. 11. 27. 16:13
๋ฐ˜์‘ํ˜•

| App.js

import React from "react";
import Wrapper from "./component/Wrapper";
import Hello from "./component/Hello";
import "./App.css";

function App() {
  /* ๊ฐ์ฒดํ˜•์œผ๋กœ ํ˜„์žฌ ์ปดํฌ๋„ŒํŠธ์—์„œ ์Šคํƒ€์ผ์„ ์„ ์–ธํ•˜๋Š” ๋ฐฉ๋ฒ• */
  const style = {
    backgroundColor: "skyblue",
    color: "white",
    fontSize: 40,
    padding: "1rem",
  };

  const name = "hello2";
  return (
    <>
      {/* css๋ฅผ ์ ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ• : className ์†์„ฑ์— ์ ์šฉ */}
      {/* 
       ์ปดํฌ๋„ŒํŠธ์•ˆ์— ํƒœ๊ทธ๋ฅผ ์ถ”๊ฐ€ ํ•  ์ˆ˜ ์—†๋‹ค ๊ทธ๋ž˜๋„ ํ• ์ˆ˜ ์žˆ๋‹ค
       ๋ฐฉ๋ฒ•์€ ๋งค๊ฐœ๋ณ€์ˆ˜ ์ปดํฌ๋„ŒํŠธ์•ˆ์— { children } ๊ฐ์ฒด๋ฅผ ๋งค๊ฐœ๋ณ€์ˆ˜ ์ „๋‹ฌํ•˜๊ณ 
       return ์•ˆ์ชฝ์— { children } ๋ฅผ ์„ ์–ธํ•˜๋ฉด 
       ์ปดํฌ๋„ŒํŠธ ์•ˆ์— ์ด๋™ ์•ˆํ•ด๋„ ํƒœ๊ทธ๋ฅผ ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ๋‹ค
      */}
      <Wrapper />
      <Wrapper>
        <div className="deeppink">hello1</div>
        <div style={style}>{name}</div>
        <h3 className="not_copo">๋‚˜๋Š” children์ด๋ผ์„œ ๋‚˜ํƒ€๋‚จ</h3>
        <Hello name="apple" color="gold" isSpecial={true} />
        <Hello name="banana" color="yellowgreen" />
        <Hello/>
        <Hello/>
        {/* <Hello/>์— ๊ธฐ๋ณธ์ƒํƒœ๊ฐ’ ๋Œ€๋กœ ๋‚˜์˜ค๊ฒŒ ๋จ    */}
      </Wrapper>
    </>
  );
}

export default App;

 

 

| Hello.jsx

import React from "react";

function Hello({ color, name, isSpecial }) {
  return (
    <>
      {/* <div style={{ color }}>์•ˆ๋…•ํ•˜์„ธ์š”{name}</div> */}
      <div style={{ color }}>
        {isSpecial ? <b>โ˜…</b> :  <b>โ˜†</b>}์•ˆ๋…•ํ•˜์„ธ์š”{name}
   {/* ์ฐธ์ด๋ฉด ์ƒ‰์น ๋œ ๋ณ„, ์•„๋‹ˆ๋ฉด ๋นˆ ๋ณ„ */}
      </div>
    </>
  );
}

Hello.defaultProps = {
  color: "pink",
  name: " ๊ธฐ๋ณธ ์†์„ฑ๊ฐ’",
};
/*App.js <Hello/>์— ๊ธฐ๋ณธ์œผ๋กœ ๋ณด์—ฌ์ฃผ๊ฒŒ ๋  ๊ฐ’์„ ์œ„์™€๊ฐ™์ด ์ง€์ • */
export default Hello;

 

 

๋ฐ˜์‘ํ˜•