์›น

    [์ŠคํŒŒ๋ฅดํƒ€์ฝ”๋”ฉํด๋Ÿฝ] ๐Ÿ’ป ์›น๊ฐœ๋ฐœ ์ข…ํ•ฉ - 1์ฃผ์ฐจ

    [์ŠคํŒŒ๋ฅดํƒ€์ฝ”๋”ฉํด๋Ÿฝ] ๐Ÿ’ป ์›น๊ฐœ๋ฐœ ์ข…ํ•ฉ - 1์ฃผ์ฐจ

    ใ€Š ์ŠคํŒŒ๋ฅดํƒ€์ฝ”๋”ฉํด๋Ÿฝ ์›น๊ฐœ๋ฐœ ์ข…ํ•ฉ โ€•1์ฃผ์ฐจโ€• ใ€‹ [ ์›น์˜ ๋™์ž‘ ๊ฐœ๋… ] - ์›นํŽ˜์ด์ง€๋Š” ๋‹จ์ง€ ์„œ๋ฒ„์—์„œ ์ค€๋น„๋œ ๊ฒƒ์„ ๋ฐ›์•„์„œ ๊ทธ๋ ค์ฃผ๋Š” ๊ฒƒ์ด๋‹ค. - ๋ธŒ๋ผ์šฐ์ €์˜ ์—ญํ• ์€ ์š”์ฒญ์„ ๋ณด๋‚ด๊ณ , ๋ฐ›์€ HTML ํŒŒ์ผ์„ ์‹œ๊ฐํ™” ํ•ด์ฃผ๋Š” ๊ฒƒ (1) ๋ธŒ๋ผ์šฐ์ €์˜ url์„ ํ†ตํ•ด API๋ฅผ ํ•ด๋‹น ์„œ๋ฒ„์— ์ „๋‹ฌ (2) ์„œ๋ฒ„๋Š” ์ „๋‹ฌ๋ฐ›์€ API๋ฅผ ํ†ตํ•ด ํ•ด๋‹นํ•˜๋Š” HTML/CSS/JS๋“ฑ๊ณผ ๊ฐ™์€ ์ฝ”๋“œ๋ฅผ API๋ฅผ ํ†ตํ•ด ๋ธŒ๋ผ์šฐ์ €๋กœ ์ „๋‹ฌ (3) ๋ธŒ๋ผ์šฐ์ €๋Š” ์ „๋‹ฌ๋ฐ›์€ ์ฝ”๋“œ๊ฐ€ ๋‹ด๊ธด API๋ฅผ ํ†ตํ•ด ์‚ฌ๋žŒ์ด ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๊ทธ๋ ค์คŒ [ ์ž์ฃผ ์“ฐ์ด๋Š” ๋‹จ์ถ•ํ‚ค ] ์ฝ”๋“œ์ •๋ ฌ Windows: Ctrl + Alt + L macOS: option + command + L ๋“ค์—ฌ์“ฐ๊ธฐ Tab ๋“ค์—ฌ์“ฐ๊ธฐ ์ทจ์†Œ : Shift + Tab ์ฃผ์„ Windows: Ctrl + / macOS: comm..

    [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..