์›น/React

    [React JS] ์˜ํ™” ์›น ์„œ๋น„์Šค(5)

    [React JS] ์˜ํ™” ์›น ์„œ๋น„์Šค(5)

    ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ๋ณธ๊ฒฉ์ ์œผ๋กœ CSS ํŒŒ์ผ ์ž‘์—…์„ ํ•˜๊ธฐ ์ „์˜ ์ „์ฒ˜๋ฆฌ๋ฅผ ํ•ด์ฃผ๊ฒ ์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ ./src ๊ฒฝ๋กœ์— ์œ„์น˜ํ•œ ํŒŒ์ผ์€ index.js, App.js, Moive.js 3๊ฐœ์˜ javascript ํŒŒ์ผ์ž…๋‹ˆ๋‹ค. index.js ํŒŒ์ผ์€ App.js ๋ฆฌ์•กํŠธ component๋ฅผ ์ฐธ์กฐํ•ด React DOM์„ ํ†ตํ•ด ๋ Œ๋”๋งํ•˜๊ณ  ์—…๋ฐ์ดํŠธํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. // src/index.js import React from "react"; import ReactDOM from "react-dom"; import App from "./App"; ReactDOM.render( , document.getElementById("root") ); ๊ทธ๋ฆฌ๊ณ  App.js์—์„œ๋Š” Movie.js ํŒŒ์ผ์„ ์ฐธ์กฐํ•˜์—ฌ ๋ฐ›๊ณ  ์žˆ๊ณ  ์˜ํ™” ์›น ์‚ฌ์ดํŠธ์—์„œ API ๋ฐ..

    [React JS] ์˜ํ™” ์›น ์„œ๋น„์Šค(4)

    ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ์–ด๋–ป๊ฒŒ javascript์—์„œ API ๋ฐ์ดํ„ฐ๋“ค์„ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. [ Axios ] axios๋Š” ๋ธŒ๋ผ์šฐ์ €์™€ node.js์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” Promise ๊ธฐ๋ฐ˜ HTTP ํ†ต์‹  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋‹ค. ๋น„๋™๊ธฐ๋กœ HTTP ํ†ต์‹ ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ด ์ฃผ๋ฉฐ return์„ promise ๊ฐ์ฒด๋กœ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— response ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃจ๊ธฐ ์‰ฝ๋‹ค. HTTP ์š”์ฒญ ์ทจ์†Œ ๋ฐ ์š”์ฒญ๊ณผ ์‘๋‹ต์„ JSON ํ˜•ํƒœ๋กœ ์ž๋™ ๋ณ€ํ™˜ํ•ด์ค€๋‹ค. ๋ธŒ๋ผ์šฐ์ € ํ˜ธํ™˜์„ฑ์ด ๋›ฐ์–ด๋‚˜๋‹ค. // axios post method axios({ method: 'post', url: '/user/12345', data: { firstName: 'Yongseong', lastName: 'Kim' } }); [ Fetch ] fetch๋Š” ES6๋ถ€ํ„ฐ j..

    [React JS] ์˜ํ™” ์›น ์„œ๋น„์Šค(3)

    [React JS] ์˜ํ™” ์›น ์„œ๋น„์Šค(3)

    ์ €๋ฒˆ ํฌ์ŠคํŒ…์—์„œ ๊ฐ„๋žตํ•˜๊ฒŒ ์„ค๋ช…ํ•˜๊ณ  ๋„˜์–ด๊ฐ„ ํด๋ž˜์Šคํ˜• component์— ๋Œ€ํ•ด์„œ ์กฐ๊ธˆ ๋” ๋‹ค๋ฃจ์–ด ๋ณด๊ธฐ๋กœ ํ•ฉ์‹œ๋‹ค. [ class component ] class๋กœ ์ •์˜ํ•˜๊ณ  render() ํ•จ์ˆ˜์—์„œ JSX๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ํ•จ์ˆ˜ํ˜• component์™€ ๋‹ฌ๋ฆฌ state ๊ธฐ๋Šฅ ๋ฐ life-cycle ๊ธฐ๋Šฅ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. // class component import React from 'react'; class App extends React.Component { render() { return Hello World!; } } export default App; ํ•จ์ˆ˜ํ˜• component๊ฐ€ ์•„๋‹Œ ํด๋ž˜์Šคํ˜• component๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ  ์ค‘ ํ•˜๋‚˜๋Š” state๋ผ๋Š” ๊ธฐ๋Šฅ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. (1) State ๊ธฐ์กด props์€ ๋ถ€๋ชจ ..

    [React JS] ์˜ํ™” ์›น ์„œ๋น„์Šค(2)

    [ JSX ] ์ด์ œ react์—์„œ ์ƒˆ๋กญ๊ฒŒ ๋“ฑ์žฅํ•œ ๊ฐœ๋…์ธ JSX๋ฅผ ์•Œ์•„๋ด…์‹œ๋‹ค. JSX๋Š” JS๋ฅผ ํ™•์žฅํ•œ ๋ฌธ๋ฒ•์ด๋ฉฐ JS์•ˆ์˜ HTML๊ณผ JS์˜ ๋ชจ๋“  ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, UI๊ฐ€ ์‹ค์ œ๋กœ ์–ด๋–ป๊ฒŒ ๋ณด์ผ ์ง€๋ฅผ ์„ค๋ช…ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ JSX๋Š” Babel์— ์˜ํ•ด์„œ React.createElement() ํ˜ธ์ถœ๋กœ ์ปดํŒŒ์ผ ํ•ฉ๋‹ˆ๋‹ค. const element = ( Hello, world! ); const element = React.createElement( 'h1', {className: 'greeting'}, 'Hello, world!' ); ์œ„์˜ ๋‘ ์˜ˆ์‹œ๋Š” ๋™์ผํ•œ ๊ธฐ๋Šฅ์„ ๊ฐ€์ง€๋ฉฐ, React.createElement() ์ปดํŒŒ์ผ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ js object๋กœ ๋ณ€ํ•ฉ๋‹ˆ๋‹ค. const element = { type: 'h..

    [React JS] ์˜ํ™” ์›น ์„œ๋น„์Šค(1)

    [React JS] ์˜ํ™” ์›น ์„œ๋น„์Šค(1)

    [ SET UP ] (1) NodeJS Node.js๋Š” Chrome V8 JavaScript ์—”์ง„์œผ๋กœ ๋นŒ๋“œ๋œ JavaScript ๋Ÿฐํƒ€์ž„์ด๋‹ค. ๋…ธ๋“œ๋ฅผ ํ†ตํ•ด ๋‹ค์–‘ํ•œ JS ์•ฑ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ฃผ๋กœ ์„œ๋ฒ„๋ฅผ ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค. Node.js๋Š” JavaScript๋ฅผ ์„œ๋ฒ„์—์„œ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋งŒ๋“  ํ”„๋กœ๊ทธ๋žจ์ž„. Node.js๋Š” V8์ด๋ผ๋Š” JavaScript ์—”์ง„ ์œ„์—์„œ ๋™์ž‘ํ•˜๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋Ÿฐํƒ€์ž„์ด๋‹ค. Node.js๋Š” ์„œ๋ฒ„ ์‚ฌ์ดํŠธ ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด๊ฐ€ ์•„๋‹˜. ํ”„๋กœ๊ทธ๋žจ(ํ™˜๊ฒฝ) ์ž„. Node.js๋Š” ์›น์„œ๋ฒ„์™€ ๊ฐ™์ด ํ™•์žฅ์„ฑ ์žˆ๋Š” ๋„คํŠธ์›Œํฌ ํ”„๋กœ๊ทธ๋žจ ์ œ์ž‘์„ ์œ„ํ•ด ๋งŒ๋“ค์–ด์กŒ๋‹ค. ์ฝ˜์†”์„ ํ†ตํ•ด ํ˜„์žฌ ๋กœ์ปฌ์— node.js๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. > node -v v16.13.0 ๋งŒ์•ฝ ์„ค์น˜๊ฐ€ ๋˜์–ด ์žˆ์ง€ ์•Š๋‹ค๋ฉด ์•„๋ž˜์˜ ๊ณต์‹..