Skip to content

Latest commit

ย 

History

History
123 lines (93 loc) ยท 3.18 KB

File metadata and controls

123 lines (93 loc) ยท 3.18 KB

2์ฃผ์ฐจ - 4.JSX

JSX

JavaScript XML์˜ ์•ฝ์ž
Javascript์—์„œ ์‚ฌ์šฉํ•˜๋Š” HTML๊ณผ ๋น„์Šทํ•˜๋‹ค.

ํŠน์ง•

  1. ํƒœ๊ทธ ์ด๋ฆ„์€ ๊ธฐ์กด HTML๊ณผ ๊ฑฐ์˜ ์œ ์‚ฌํ•˜๋‹ค.
  2. Attributes๋‚˜ css๋Š” ์นด๋ฉœ ์ผ€์ด์Šค๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. (className, textAlign)
  3. Javascript์ฝ”๋“œ๋ฅผ ํ™œ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” { }๋ฅผ ์ด์šฉํ•œ๋‹ค.

JSX ์‚ฌ์šฉํ•ด๋ณด๊ธฐ

์ด์ „๊ณผ ๋™์ผํ•˜๊ฒŒ ์•„๋ž˜์˜ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ด React์•ฑ์„ ์ƒ์„ฑํ•ด์ค๋‹ˆ๋‹ค.

npx create-react-app my-app

์•ฑ ์ƒ์„ฑ์ด ์™„๋ฃŒ๋˜์—ˆ๋‹ค๋ฉด App.jsํŒŒ์ผ์„ ์•„๋ž˜์™€ ๊ฐ™์ด ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค.

import React from "react";
import "./App.css";

function App() {
    return (
        <div className="App">
            <h1>Hello World!</h1>
            <h2>ReactJS ๋‘˜๋Ÿฌ๋ณด๊ธฐ</h2>
        </div>
    );
}

export default App;

h1 ํƒœ๊ทธ์— ์Šคํƒ€์ผ ์ž…ํ˜€๋ณด๊ธฐ

App.js์—์„œ Appํ•จ์ˆ˜๋ฅผ ์•„๋ž˜์™€ ๊ฐ™์ด ์ˆ˜์ •ํ•œ๋‹ค.

function App() {
    return (
        <div className="App">
            <h1 style={{ color: "red" }}>Hello World!</h1>
            <h2>ReactJS ๋‘˜๋Ÿฌ๋ณด๊ธฐ</h2>
        </div>
    );
}

style={{...}}์—์„œ ์ฒซ๋ฒˆ์งธ ์ค‘๊ด„ํ˜ธ๋Š” JS์ฝ”๋“œ๊ฐ€ ๋“ค์–ด๊ฐ„ ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธ๋ฅผ ๊ฐ–๊ณ 
๊ทธ ์•ˆ์—์žˆ๋Š” { color: "red }๋Š” ํ•˜๋‚˜์˜ ์Šคํƒ€์ผ ์ •๋ณด๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” Object๋‹ค.


์œ„์™€ ๊ฐ™์ด ์Šคํƒ€์ผ์ด ์ž˜ ์ ์šฉ๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๊ฒŒ๋˜์—ˆ๋‹ค.
์•„๋ž˜ ์ฒ˜๋Ÿผ ์ง์ ‘ ๋„ฃ์ง€ ์•Š๊ณ  ๋ฐ–์—์„œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜์—ฌ ๋„ฃ์„ ์ˆ˜๋„ ์žˆ๋‹ค.

...
const headerStyle = {
    color: "red",
};

function App() {
    return (
        <div className="App">
            <h1 style={headerStyle}>Hello World!</h1>
            <h2>ReactJS ๋‘˜๋Ÿฌ๋ณด๊ธฐ</h2>
        </div>
    );
}
...

css์—์„œ์˜ font-weight๊ณผ ๊ฐ™์€ ์†์„ฑ์„ ์ฃผ๊ธฐ์œ„ํ•ด์„œ๋Š” ์นด๋ฉœ ์ผ€์ด์Šค๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

...
const headerStyle = {
    color: "red",
    fontWeight: 800
};
...


์šฐ๋ฆฌ๊ฐ€ ์˜๋„ํ•œ ์Šคํƒ€์ผ์ด ์ž˜ ์ ์šฉ๋˜์—ˆ์Œ์„ ๊ฐœ๋ฐœ์ž ๋„๊ตฌ๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

h2ํƒœ๊ทธ์— ํด๋ž˜์Šค ์ง€์ •ํ•ด๋ณด๊ธฐ

์œ„์˜ ๋ฐฉ์‹๊ณผ ๊ฐ™์ด style์†์„ฑ๋งŒ ์ด์šฉํ•˜๋‹ค๋ณด๋ฉด ์ฝ”๋“œ๊ฐ€ ๋ณต์žกํ•ด์งˆ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋‹ค.
๋”ฐ๋ผ์„œ ๊ธฐ์กด์˜ HTML์—์„œ ์‚ฌ์šฉํ–ˆ๋˜ ๋ฐฉ๋ฒ•๊ณผ ๋™์ผํ•˜๊ฒŒ ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

function App() {
    return (
        <div className="App">
            <h1 style={headerStyle}>Hello World!</h1>
            <h2 className={"titleStyle"}>ReactJS ๋‘˜๋Ÿฌ๋ณด๊ธฐ</h2>
        </div>
    );
}

์œ„์™€ ๊ฐ™์ด className์ด๋ผ๋Š” ์†์„ฑ์„ ์ฃผ์–ด ํด๋ž˜์Šค๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.
ํด๋ž˜์Šค๊ฐ€ ์ž˜ ์ง€์ •๋˜์—ˆ๋Š”์ง€ App.css์— ์•„๋ž˜์˜ ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•œ ํ›„ ์ƒˆ๋กœ๊ณ ์นจ ํ•ด๋ณด์ž.

.titleStyle {
    color: white;
    background-color: black;
}


์šฐ๋ฆฌ๊ฐ€ ์ง€์ •ํ•œ titleStyleํด๋ž˜์Šค์— css๊ฐ€ ์ž˜ ์ ์šฉ๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.