TIL 34: [React] ๋ฐ์ดํ„ฐ ํ๋ฆ„์˜ ์ดํ•ด์™€ ๋น„๋™๊ธฐ ์š”์ฒญ ์ฒ˜๋ฆฌ
TIL/JavaScript 2021. 9. 7. 21:11

์˜ค๋Š˜์€ ์–ด์ œ์— ์ด์–ด์„œ StateAirlines๋ฅผ ๋งˆ์ € ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ƒˆ๋กœ ๋ฐฐ์šด ๋‚ด์šฉ์€ ์—†์–ด ์ฒ˜์Œ ํ’€์—ˆ์„ ๋•Œ ํ—ค๋งธ๋˜ ์œ„์ฃผ๋กœ ์ •๋ฆฌํ•ด๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค! Lifting State Up ๋ถ€๋ชจ์ปดํฌ๋„ŒํŠธ์— ์•„๋ž˜์™€ ๊ฐ™์ด search ํ•จ์ˆ˜๋ฅผ onSearch๋ฅผ ํ†ตํ•ด ์ „๋‹ฌํ•ด์ฃผ๋ฉด, ์ž์‹ ์ปดํฌ๋„ŒํŠธ์—์„œ ํ•จ์ˆ˜(Search)๊ฐ€ ์‹คํ–‰๋˜๋ฉด onSearch์— ์˜ํ•ด ๋ถ€๋ชจ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋ณ€๊ฒฝ๋ฉ๋‹ˆ๋‹ค. import { useState } from 'react' function Search({onSearch}) { //onSearch ๋„ฃ์–ด์ฃผ๊ธฐ, Main์—์„œ๋„ ํ•ด์ฃผ๊ธฐ const [textDestination, setTextDestination] = useState('') const handleChange = (e) => { setTextDestination(e..

TIL 29: [JS/Node] ๋น„๋™๊ธฐ - ํƒ€์ด๋จธ/ํŒŒ์ผ์—ด๊ธฐ
TIL/JavaScript 2021. 9. 1. 00:09

์˜ค๋Š˜์€ ๋ณธ๊ฒฉ์ ์œผ๋กœ ๋น„๋™๊ธฐ์— ๋Œ€ํ•ด์„œ ๊ณต๋ถ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ถ€๋ถ„์€ ์™„์ „ํžˆ ์ฒ˜์Œ ๋ฐฐ์šด ๋ถ€๋ถ„์ด๋ผ ์•„์ง ๋งŽ์ด ๋‚ฏ์„ค์ง€๋งŒ ์ž์ฃผ ๋ณด๋ฉด์„œ ์ต์ˆ™ํ•ด์ง€๋„๋ก ๋…ธ๋ ฅํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค! ๋น„๋™๊ธฐ ์ •์˜ ๋ฐ ์‚ฌ๋ก€ ๋™๊ธฐ์™€ ๋‹ฌ๋ฆฌ ์š”์ฒญ์— ๋Œ€ํ•œ ๊ฒฐ๊ณผ๊ฐ€ ๋‹ค๋ฅธ ์š”์ฒญ๊ณผ ๋™์‹œ์— ์ผ์–ด๋‚˜์ง€ ์•Š๋Š” ๊ฒƒ์„ ๋งํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์š”์ฒญ ์ดํ›„ ๋‹ค๋ฅธ ๋ถ€๋ถ„๋“ค์ด ๊ณ„์†ํ•ด์„œ ์ž‘์—…ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค. ์‚ฌ๋ก€: DOM Elemenet์˜ ์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ, ํƒ€์ด๋จธ, ์„œ๋ฒ„์— ์ž์› ์š”์ฒญ ๋ฐ ์‘๋‹ต Callback Async(๋น„๋™๊ธฐ)์—์„œ ์‹คํ–‰๋˜๋Š” ์ˆœ์„œ๋ฅผ ํ†ต์ œํ•˜๊ณ  ์‹ถ์„ ๋•Œ Callback ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Error Handling์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ฃผ๋กœ (err, data) ์ˆœ์„œ๋กœ ๋ฐ›๊ฒŒ๋ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ Callback ํ•จ์ˆ˜๋ฅผ ๋งŽ์ด ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๋ฉด ๊ฐ€๋…์„ฑ์ด ๋–จ์–ด์ง€๋Š” Callback Hell์ด ..