๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๋ฐ˜์‘ํ˜•

JavaScript168

[JavaScript] ๋‹ค์–‘ํ•œ ๋ฐฐ์—ด ๋ฉ”์†Œ๋“œ ๐Ÿญ push ๋ฐฐ์—ด ๋’ท๋ถ€๋ถ„์— ๊ฐ’์„ ์‚ฝ์ž…ํ•œ๋‹ค. var arr = ["a", "b", "c", "d"]; arr.push("e"); console.log(arr); // ["a", "b", "c", "d", "e"] ๐Ÿญ pop ๋ฐฐ์—ด ๋’ท๋ถ€๋ถ„์˜ ๊ฐ’์„ ์‚ญ์ œํ•œ๋‹ค. var arr = ["a", "b", "c", "d"]; arr.pop(); console.log(arr); // ["a", "b", "c"] ๐Ÿญ shift ๋ฐฐ์—ด ์•ž๋ถ€๋ถ„์˜ ๊ฐ’์„ ์‚ญ์ œํ•œ๋‹ค. var arr = ["a", "b", "c", "d"]; arr.shift(); console.log(arr); // ["b", "c", "d"] ๐Ÿญ unshift ๋ฐฐ์—ด ์•ž๋ถ€๋ถ„์— ๊ฐ’์„ ์‚ฝ์ž…ํ•œ๋‹ค. var arr = ["a", "b", "c", "d"]; arr.unshift.. 2021. 11. 18.
[React] React๋ž€? ๐ŸŒธ React๋ž€? ํŽ˜์ด์Šค๋ถ์—์„œ ๊ฐœ๋ฐœํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค(UI)๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ Javascript ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋‹ค. ๐ŸŒธ React์˜ ์žฅ์  Javascript ๊ฐ์ฒด ํ˜•ํƒœ์˜ Virtual DOM์„ ์‚ฌ์šฉํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚จ๋‹ค. Server & Client ์‚ฌ์ด๋“œ rendering ์ง€์›์„ ํ†ตํ•ด ๋ธŒ๋ผ์šฐ์ € ์ธก์˜ ์ดˆ๊ธฐ ๋ Œ๋”๋ง ๋”œ๋ ˆ์ด๋ฅผ ์ค„์ด๊ณ  SEO ํ˜ธํ™˜๋„ ๊ฐ€๋Šฅํ•ด์ง„๋‹ค. ๐Ÿ”ฅ ๋ Œ๋”๋ง(Readering)์ด๋ž€? html ์š”์†Œ(element), ๋˜๋Š” React ์š”์†Œ ๋“ฑ์˜ ์ฝ”๋“œ๊ฐ€ ๋ˆˆ์œผ๋กœ ๋ณผ ์ˆ˜ ์žˆ๋„๋ก ๊ทธ๋ ค์ง€๋Š” ๊ฒƒ. ์ปดํฌ๋„ŒํŠธ์˜ ๊ฐ€๋…์„ฑ์ด ๋งค์šฐ ๋†’๊ณ  ๊ฐ„๋‹จํ•˜์—ฌ ์‰ฌ์šด ์œ ์ง€๋ณด์ˆ˜, ๊ฐ„ํŽธํ•œ UI ์ˆ˜์ • ๋ฐ ์žฌ์‚ฌ์šฉ์ด ์šฉ์ดํ•˜๋‹ค.๐Ÿ”ฅ ์ปดํฌ๋„ŒํŠธ(Component)๋ž€? ์žฌ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•œ UI ๋‹จ์œ„. props๋ฅผ input์œผ๋กœ ํ•˜๊ณ  UI๊ฐ€.. 2021. 11. 18.
[React] State & Event ๐Ÿท State '์ƒํƒœ'๋ผ๋Š” ๋œป. ์ปดํฌ๋„ŒํŠธ ๋‚ด๋ถ€์—์„œ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์ปดํฌ๋„ŒํŠธ์˜ ์ƒํƒœ ๊ฐ’. ํ™”๋ฉด์— ๋ณด์—ฌ์ค„ ์ปดํฌ๋„ŒํŠธ์˜ UI ์ •๋ณด(์ƒํƒœ)๋ฅผ ์ง€๋‹ˆ๊ณ  ์žˆ๋Š” ๊ฐ์ฒด. State๋Š” ์ปดํฌ๋„ŒํŠธ ๋‚ด์—์„œ ์ •์˜ํ•˜๊ณ  ์‚ฌ์šฉํ•˜๋ฉฐ ์–ผ๋งˆ๋“ ์ง€ ๋ฐ์ดํ„ฐ(๊ฐ์ฒด)๊ฐ€ ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ๋‹ค. State๋Š” ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋งˆ์šดํŠธ ๋  ๋•Œ ๊ธฐ๋ณธ๊ฐ’์„ ๊ฐ–๊ฒŒ ๋˜๊ณ  ์šฐ๋ฆฌ๋Š” ์ด State๋ฅผ ํ™œ์šฉํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ€ํ™”์‹œ์ผœ์ค„ ์ˆ˜ ์žˆ๋‹ค. ๊ฐ์ฒด์˜ ํ˜•ํƒœ๋ฅผ ๊ฐ–๊ณ  ์žˆ๋‹ค. State๋ฅผ ๋ณ€๊ฒฝํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” setState ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค. class ์ปดํฌ๋„ŒํŠธ์—์„œ State๋ฅผ ์“ธ๋•Œ๋Š” ์ปดํฌ๋„ŒํŠธ์˜ ํ˜•ํƒœ๊ฐ€ ํด๋ž˜์Šค์ด๊ธฐ ๋•Œ๋ฌธ์— this.state๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฝ”๋“œ๋กœ ์ž‘์„ฑํ•ด๋ณด๋ฉด ๋”์šฑ ์‰ฝ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค!.. ๊ณ  ํ•œ๋‹ค. ๐Ÿท State ๊ฐ์ฒด ํด๋ž˜์Šคํ˜• ์ปดํฌ๋„ŒํŠธ์—์„œ State, ์ฆ‰ ํ•ด๋‹น ์ปดํฌ๋„ŒํŠธ์˜ ์ƒํƒœ๋ฅผ .. 2021. 11. 18.
[React] Props & Event ๐Ÿ’ฃ Props properties(์†์„ฑ). ๋‹จ์–ด ๋œป ๊ทธ๋Œ€๋กœ ์ปดํฌ๋„ŒํŠธ์˜ ์†์„ฑ๊ฐ’. ๋ถ€๋ชจ ์ปดํฌ๋„ŒํŠธ๋กœ๋ถ€ํ„ฐ ์ „๋‹ฌ ๋ฐ›์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ง€๋‹ˆ๊ณ  ์žˆ๋Š” ๊ฐ์ฒด์ด๋‹ค. props๋ฅผ ํ†ตํ•ด ๋ถ€๋ชจ ์ปดํฌ๋„ŒํŠธ๋กœ๋ถ€ํ„ฐ ์ž์‹ ์ปดํฌ๋„ŒํŠธ์—๊ฒŒ state์˜ ์ƒํƒœ๊ฐ’, event handler๋ฅผ ๋„˜๊ฒจ์ค„ ์ˆ˜ ์žˆ๋‹ค. ์ฆ‰, props๋Š” ๋ถ€๋ชจ์—์„œ ์ž์‹์œผ๋กœ ๋ณด๋‚ด์ฃผ๋Š” ์†์„ฑ์ด๋‹ค. State์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ฝ”๋“œ๋กœ ์ž‘์„ฑํ•ด๋ณด๋ฉด ๋”์šฑ ์‰ฝ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค!.. ๊ณ  ํ•œ๋‹ค ๐Ÿ’ฃ Props ๊ฐ์ฒด ํด๋ž˜์Šคํ˜• ์ปดํฌ๋„ŒํŠธ์—์„œ props, ์ฆ‰ ์ปดํฌ๋„ŒํŠธ์˜ ์†์„ฑ์„ ์–ด๋–ป๊ฒŒ ์ •์˜ํ•˜๋Š”์ง€ ์•Œ์•„๋ณด์ž. // Parent.js import React from 'react'; import Child from '../pages/Child/Child'; class Parent extends React.Compone.. 2021. 11. 18.
[React] map ํ•จ์ˆ˜ ์ ์šฉ์‹œ key props๋ฅผ ๋ถ€์—ฌํ•˜๋Š” ์ด์œ  React์—์„œ map ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ๋ Œ๋”๋ง์—” ๋ฌธ์ œ๊ฐ€ ์—†์ง€๋งŒ console ์ฐฝ์— ์ด๋ ‡๊ฒŒ ๋œฐ ๋•Œ๊ฐ€ ์žˆ๋‹ค. mappingํ•˜๋Š” ๊ณผ์ •์—์„œ ๋ฐฐ์—ด์˜ ๊ฐ ์š”์†Œ๋งˆ๋‹ค ๊ณ ์œ ํ•œ key ๊ฐ’์„ ์ง€์ •ํ•ด์ค„ ์ˆ˜ ์žˆ๋Š”๋ฐ, ๊ทธ๊ฒƒ์„ ์ƒ๋žตํ•˜๋ฉด ์ €๋Ÿฐ ์˜ค๋ฅ˜๊ฐ€ ๋œฌ๋‹ค! ๊ทธ๋ž˜์„œ โญ list ๋‚ด์˜ ๊ฐ child์—๋Š” ๊ณ ์œ ํ•œ key ๊ฐ’์ด ์žˆ์–ด์•ผํ•œ๋‹ค. โญ ๐Ÿ”ฅ์™œ key ๊ฐ’์„ ์ค˜์•ผํ• ๊นŒ? React๋Š” ๋ Œ๋”๋ง ํ•  ๋•Œ ๊ธฐ์กด ๋ฐฐ์—ด๊ณผ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ ๋น„๊ตํ•ด์„œ ๋ณ€๊ฒฝ๋œ ๋ถ€๋ถ„๋งŒ ๋‹ค์‹œ ๋ Œ๋”๋งํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ์š”์†Œ๊ฐ€ ๋ณ€๊ฒฝ๋˜์—ˆ์„๋•Œ ๋” ๋น ๋ฅด๊ณ  ํšจ์œจ์ ์œผ๋กœ ๋ Œ๋”๋ง ํ•˜๊ธฐ ์œ„ํ•ด ์š”์†Œ ๊ณ ์œ ์˜ key ๊ฐ’์„ ์ค€๋‹ค. ์ฐธ๊ณ  ์‚ฌ์ดํŠธ โ–ถ ๋ฆฌ์ŠคํŠธ์™€ Key - React 2021. 11. 18.
์œ ์‚ฌ ๋ฐฐ์—ด ๊ฐ์ฒด(Array-Like Object) ๐Ÿšœ ์œ ์‚ฌ ๋ฐฐ์—ด ๊ฐ์ฒด(=์—ฐ๊ด€ ๋ฐฐ์—ด) ๋ฐฐ์—ด๊ณผ ๋น„์Šทํ•œ ๊ฐ์ฒด. length ํ”„๋กœํผํ‹ฐ๋ฅผ ๊ฐ€์ง„ ๊ฐ์ฒด๋ฅผ ์œ ์‚ฌ ๋ฐฐ์—ด ๊ฐ์ฒด(Array-Like Object)๋ผ๊ณ  ํ•œ๋‹ค. DOM์—์„œ ๊ฐ€์ ธ์˜จ element๋“ค ๋Œ€ํ‘œ์ ์ธ ์˜ˆ๋กœ ๋“ค ์ˆ˜ ์žˆ๋‹ค. let Object = { 0: 'a', 1: 'b', 2: 'c', length: 3 } ์œ ์‚ฌ ๋ฐฐ์—ด ๊ฐ์ฒด๋Š” ์œ„์™€ ๊ฐ™์ด length ํ”„๋กœํผํ‹ฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ์ฃผ๋œ ์šฉ๋„๋Š” key๋กœ ๊ฐ’์„ ๋ฝ‘์•„๋‚ด๋Š” ๊ฒƒ์ด๋‹ค. JavaScript์—์„œ๋Š” ๊ฐ์ฒด๋ฅผ ์—ฐ๊ด€ ๋ฐฐ์—ด๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ •์„์ด๋ผ๊ณ  ํ•œ๋‹ค. console.log ์ฐ์–ด์„œ ๊ฐœ๋ฐœ์ž ๋„๊ตฌ๋กœ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ๋‹ค. ๐Ÿšœ ํŠน์ง• ๊ฐ์ฒด์ž„์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  JavaScript์˜ ํ‘œ์ค€ ๋ฐฐ์—ด ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์œ ์‚ฌ ๋ฐฐ์—ด ๊ฐ์ฒด๋Š” ๋ฐฐ์—ด์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฐฐ์—ด ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค.. 2021. 11. 18.
๋ฐ˜์‘ํ˜•