๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

์ „์ฒด ๊ธ€48

Weather API & data component ์˜ค๋Š˜์ž todolist ์ž‘์—… 1. ์™€์ด์–ด ํ”„๋ ˆ์ž„ + ์ปดํฌ๋„ŒํŠธ ๋‚˜๋ˆ„๊ธฐ. 2.Data , Weather Component ๋งŒ๋“ค๊ธฐ. 1. ์™€์ด์–ด ํ”„๋ ˆ์ž„ + ์ปดํฌ๋„ŒํŠธ ๋‚˜๋ˆ„๊ธฐ. ์ „์ฒด ํŽ˜์ด์ง€๋Š” App์— ๋„์šฐ๊ณ , ๋‹ค๋ฅธ ์ปดํฌ๋„ŒํŠธ๋“ค์€ ๊ฐ์ž ํ• ์ผ์„ ์ž‘๊ฒŒ ๋‚˜๋ˆ„์–ด ๋งŒ๋“ค๊ธฐ๋กœ ํ–ˆ๋‹ค. App์— ํ‘œ์‹œ๋  ์ปดํฌ๋„ŒํŠธ ์™ธ์—๋Š” Listํด๋”์— ๋”ฐ๋กœ ๋‹ด์•„๋‘์—ˆ๋‹ค. ์–ด๋–ป๊ฒŒ state์™€ props๋ฅผ ๋‚ด๋ ค์ฃผ์–ด์•ผ ํ• ์ง€ ํ—ท๊ฐˆ๋ฆด๊ฒƒ ๊ฐ™์•„์„œ ๋ถ€๋ชจ์ž์‹๊ฐ„์˜ ํŠธ๋ฆฌ๊ตฌ์กฐ๋„ ํ‘œํ˜„ํ•ด๋ดค๋‹ค. ๋งค์ผ ๋ฐ˜๋ณตํ•  ์ผ์ •์„ ๋„์šธ DayLoop์™€ ๋‹น์ผ ์ผ์ •ํ›„์—” ๋ฆฌ์…‹ ๋  TodoList๋Š” AddList๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž๊ฐ€ ์ผ์ •์„ ์ถ”๊ฐ€ํ• ๋•Œ ํ† ๊ธ€๋ฒ„ํŠผ์„ ์ด์šฉํ•ด ๋งž๋Š” ์ปดํฌ๋„ŒํŠธProp์œผ๋กœ ๋‚ด๋ ค ์ค„ ์˜ˆ์ •. remove๋Š” ์–ด๋””์— ํฌํ•จํ•ด์•ผํ• ์ง€ ์ž˜๋ชจ๋ฅด๊ฒ ์–ด์„œ ์ง„ํ–‰ํ•˜๋‹ค๊ฐ€ ๋ผ์›Œ๋„ฃ์„๊ฑฐ ๊ฐ™์€๋ฐ ์•„๋งˆ addlist์— ๋“ค์–ด.. 2022. 2. 5.
[React ์ž์Šต์„œ] Tic Tac Toe.. ํˆฌ๋‘๋ฆฌ์ŠคํŠธ๋ฅผ ์‹œ์ž‘ ํ•˜๊ธฐ์— ์•ž์„œ ๋ฆฌ์•กํŠธ๋ฅผ ๋„ˆ๋ฌด ๋ชจ๋ฅด๋Š”๊ฑฐ ๊ฐ™์•„, ๊ณต์‹๋ฌธ์„œ ์ž์Šต์„œ์˜ ํ‹ฑํƒํ† ๋ฅผ ๊ณต๋ถ€ํ•˜๊ณ ์žˆ๋‹ค. function Square(props) { return ( {props.value} ); } class Board extends React.Component { constructor(props){ super(props); this.state = { squares: Array(9).fill(null), xIsNext : true, }; } handleClick(i) { const squares = this.state.squares.slice(); if(calculateWinner(squares) || squares[i]){ return; } squares[i] = this.state.xIsNext ? '.. 2022. 2. 3.
[TodoList]create react app ์„ค์น˜ ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์…‹ํŒ…์„ ๋„์™€์ฃผ๋Š” ํˆด ์ธ create react app ์„ ์ด์šฉํ•˜์—ฌ ํˆฌ๋‘ ๋ฆฌ์ŠคํŠธ๋ฅผ ์‹œ์ž‘ํ•˜๋ ค๊ณ  ํ•œ๋‹ค ํ„ฐ๋ฏธ๋„์— `npx create-react-app todo` ๋ฅผ ๋„ฃ์—ˆ๋Š”๋ฐ ๋ญ”๊ฐ€ ์—๋Ÿฌ๊ฐ€๋œธ. ์ฝ์–ด๋ณด๋‹ˆ ๋ฒ„์ „์˜ ๋ฌธ์ œ์ธ๊ฒƒ๊ฐ™๊ณ  ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ๋ช…๋ น์–ด์™€ ์ฐธ๊ณ ํ•  ์‚ฌ์ดํŠธ ์ฃผ์†Œ๋ฅผ ์•Œ๋ ค์ฃผ์–ด์„œ ๊ฒ€์ƒ‰ํ•ด๋ด„. ๋ฆฌ์•กํŠธ ๊ณต์‹๋ฌธ์„œ์— ๊ฐ€๋ณด๋‹ˆ ์ด์ „์— create react app์„ ์ „์—ญ์ ์œผ๋กœ ์„ค์น˜ํ•˜์˜€์„ ๊ฒฝ์šฐ ์‚ญ์ œํ›„ ์žฌ์„ค์น˜ํ•˜์—ฌ ํ•ญ์ƒ npx ์ตœ์‹  ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜๋Š”๊ฒƒ์„ ๊ถŒ์žฅํ•จ. ๊ทธ๋ž˜์„œ... ์œ„์˜๋ช…๋ น์–ด๋กœ ์‚ญ์ œ ํ•ด๋ณด๋ คํ–ˆ๋Š”๋ฐ ๋ญ”๊ฐ€...๋ฌด์„œ์›Œ์„œ npm ๋ฒ„์ „ ํ™•์ธํ›„ ์—…๋ฐ์ดํŠธ ํ•˜๋Š”๋ฒ•์„ ๊ฒ€์ƒ‰ ํ•ด์„œ -g๋ฅผ ๋„ฃ์€ (-g๋Š” global๋กœ ์ „์—ญ ์„ค์น˜?? ๋ฅผ๋งํ•˜๋Š”๊ฒƒ ๊ฐ™๋‹ค npm ๋ช…๋ น์–ด ์ธ๋“ฏ) cra๋ฅผ ๋‹ค์‹œ ์„ค์น˜ ํ•ด๋ดค์ง€๋งŒ ์ด๋ฒ„์ „์€ ์•ˆ์“ฐ์ด๋Š” ๋ฒ„์ „์ธ๊ฒƒ๊ฐ™๋‹ค. ์–ผ๋ฅธ .. 2022. 1. 30.
๋ฆฌ์•กํŠธ๋กœ Todo list๋ฅผ ๋งŒ๋“ค์–ด๋ณด์ž ํˆฌ๋‘๋ฆฌ์ŠคํŠธ๋ฅผ ์“ฐ๊ณ ์‹ถ์€๋ฐ ๋งˆ์Œ์— ๋“œ๋Š”๊ฒŒ ์—†์–ด์„œ ๋งŒ๋“ค์–ด๋ณด๊ธฐ๋กœํ•จ ๊ณต๋ถ€์— ๋„์›€๋ ์ˆ˜์žˆ๋„๋ก ๋ฆฌ์•กํŠธ ๋‚ ์”จapi ๋น„๋™๊ธฐ(์–ด๋””์„œ ๋“ค์–ด๊ฐ€์•ผํ• ์ง„ ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ..) ๋ถ€์บ ์—์„œ ๋ฐฐ์šฐ๋Š”๊ฒƒ๋“ค์„ ๋˜๋„๋ก ๋งŽ์ด ์‚ฌ์šฉํ•ด๋ณผ์˜ˆ์ • 2022. 1. 30.
Call back ํ•จ์ˆ˜๋กœ Method ๋งŒ๋“ค๊ธฐ ํ•™์Šต๋ชฉํ‘œ forEach() ,indexOf(), map(), slice(), reduce(), filter()์™€ ๊ฐ™์€ ๋ฉ”์„œ๋“œ๋ฅผ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ๋กœ ๋งŒ๋“ค๊ณ  ๋งŒ๋“  ํ•จ์ˆ˜๋ฅผ ์ฝœ๋ฐฑํ•˜์—ฌ ๋‹ค๋ฅธ ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด๋ณด์ž!๐Ÿ˜Ž (๋น„๋™๊ธฐ์—์„œ ์ฝœ๋ฐฑ์„ ์›ํ™œํžˆ ์“ฐ๊ธฐ์œ„ํ•œ ์„ ํ–‰ํ•™์Šต) ๋งŒ๋“ ๊ฒƒ ์˜ˆ์ œ.slice() _.slice = function (arr, start, end) { let _start = start || 0, _end = end; // ์ž…๋ ฅ๋ฐ›์€ ์ธ๋ฑ์Šค๊ฐ€ ์Œ์ˆ˜์ผ ๊ฒฝ์šฐ, ๋งˆ์ง€๋ง‰ ์ธ๋ฑ์Šค๋ถ€ํ„ฐ ๋งค์นญ // (ex. -1 => arr.length - 1, -2 => arr.length - 2) // ์ž…๋ ฅ๋ฐ›์€ ์ธ๋ฑ์Šค๋Š” 0 ์ด์ƒ์ด์–ด์•ผ ํ•œ๋‹ค. if (start < 0) _start = Math.max(0, arr.length + start); .. 2022. 1. 24.
22.01.23 ๋‚ด๊ฐ€ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์‰ฝ๊ฒŒ ์“ฐ๋Š” ๋‚ ์ด ์˜ฌ๊นŒ? ์–ด๋ ค์›Œ์„œ ๋„ˆ๋ฌด ํ•˜๊ธฐ ์‹ซ๋‹ค + ์ค‘์š”ํ•œ๊ฑฐ๋ผ ์ž๊พธ ๋ฏธ๋ฃจ๊ณ ์‹ถ๋‹ค ๊ทธ๋ž˜๋„ ๊พธ์ค€ํžˆ ํ•ด๋ณด๊ณ  ํฌ๊ธฐํ•˜์ง€๋ง์ž ํ™”์ดํŒ…๐Ÿ˜ฃ 2022. 1. 24.