๐Ÿ“‚ ํˆฌ๋ฐ์ด ํ•ซ๋ธŒ๋ ˆ์ธ ์ฃผ์ œ

H.wang(ํ™ฉ์œ ๋ฆผ)์˜ localStorage ์™„๋ฒฝ ํ•ด๋ถ€ํ•™

@์•„ํ‹ฐํด ์˜๊ฐ ์–ป์€ moment:

localStorage๋Š” <์ƒˆ๋กœ๊ณ ์นจ ์†>์—์„œ๋„ ์‚ด์•„๋‚จ๋Š” ๋ฆฌ์•กํŠธ์˜ ๊ธฐ์–ต ์ €์žฅ์†Œ.

์ถœ์ฒ˜: yurimidaHโ€™s [Week4 ๋ฉค๋ฒ„์กฐํšŒ API ๊ณผ์ œ]

//[ํ•ต์‹ฌ์ฝ”๋“œ1]: ๋กœ๊ทธ์ธ ์ •๋ณด ์ €์žฅ
localStorage.setItem('userId', String(loginUserId));
localStorage.setItem('loginId', id);
localStorage.setItem('userName', name);
localStorage.setItem('userPart', part);
//[ํ•ต์‹ฌ์ฝ”๋“œ2]: ์ €์žฅ๋œ ์ •๋ณด ๋‹ค์‹œ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ
const storedUserId = localStorage.getItem('userId');
const storedName = localStorage.getItem('userName');
const storedPart = localStorage.getItem('userPart');
//[ํ•ต์‹ฌ์ฝ”๋“œ3]: ์„œ๋ฒ„์‹คํŒจ? fallback ๋ฐ์ดํ„ฐ์‚ฌ์šฉ
const fallbackData = {
  loginId: storedLoginId || storedUserId,
  part: storedPart || '',
  name: storedName || '',
};

์ด๋ฒˆ API์—ฐ๋™๊ณผ์ œ๋ฅผ ์ง„ํ–‰ํ•˜๋‹ค๋ณด๋‹ˆ.. ์ €๋Š” localStorage๋ผ๋Š” ์กด์žฌ์˜ ๋“ฑ์žฅ์œผ๋กœ ์‹ฌํžˆ ๋ถˆ์•ˆ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

๋ถ„๋ช… ๋กœ๊ทธ์ธ๋„ ์„ฑ๊ณตํ–ˆ๊ณ ? ํ™”๋ฉด์—๋„ ์ด๋ฆ„์ด ์ž˜ ๋ณด์˜€๋Š”๋ฐ?...

์ƒˆ๋กœ๊ณ ์นจ ํ•œ ๋ฒˆ ํ•˜์ž๋งˆ์ž suddenly ์ด๋ฆ„์ด ์‚ฌ๋ผ์ง€๊ณ / part๊ฐ’์ด ์ฆ๋ฐœํ•˜๋ฉฐ/ ํ—ค๋”์—๋Š” ๊ณตํ—ˆํ•œ ๋นˆ์นธ๋งŒ์ด ์ €๋ฅผ ๋ฐ˜๊ธฐ๊ณ ์žˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

๋„๋Œ€์ฒด localStorage๋Š” ๋ญ๊ธธ๋ž˜ ์ €๋ฅผ ์ด๋ ‡๊ฒŒ ์šธ๊ณ ์›ƒ๊ฒŒ ๋งŒ๋“œ๋Š” ๊ฑธ๊นŒ์š”?


01. Intro: ๋ณ€์ˆ˜๋ฉด ๋ณ€์ˆ˜์ง€, ์™œ ๊ตณ์ด ์ €์žฅ๊นŒ์ง€ ํ•ด์•ผ ํ• ๊นŒ?

์šฐ๋ฆฌ๊ฐ€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ์“ฐ๋Š” ์ผ๋ฐ˜ ๋ณ€์ˆ˜๋“ค์€ ์ƒˆ๋กœ๊ณ ์นจ์„ ํ•˜๋Š” ์ˆœ๊ฐ„ ๋ชจ๋‘ ์ฆ๋ฐœํ•ฉ๋‹ˆ๋‹ค. ๋ฆฌ์•กํŠธ state ๋˜ํ•œ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค.

์ฆ‰:

const [name, setName] = useState('');

๋กœ ์ €์žฅ์„ ํ•˜๋”๋ผ๋„ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์ƒˆ๋กœ๊ณ ์นจํ•˜๋ฉด ๊ธฐ์–ต์„ ์žƒ์–ด๋ฒ„๋ฆฝ๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ์‚ฌ์šฉ์ž ์ž…์žฅ์—์„œ๋Š”: