Skip to content

jieun419/poke-dex

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

ํฌ์ผ“๋ชฌ ๋„๊ฐ

แ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ซแ„‰แ…ฃแ†บ 2024-01-06 แ„‹แ…ฉแ„’แ…ฎ 6 14 56

  • ํฌ์ผ“๋ชฌ ๋ฆฌ์ŠคํŠธ๋ฅผ ํ™•์ธํ•˜๊ณ  ์นด๋“œ ํด๋ฆญ ์‹œ ์›ํ•˜๋Š” ํฌ์ผ“๋ชฌ์˜ ์ •๋ณด๋ฅผ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ž‘์—… ๊ธฐ๊ฐ„ : 23.09 - ์ง„ํ–‰ ์ค‘
  • ๋ฐฐํฌ ๋งํฌ : ๋งํฌ
  • Figma ๊ตฌ์ƒ๋„ : ๋””์ž์ธ ์‹œ์•ˆ
  • Stack : Vite, React, TypeScript, React Query, Redux Toolkit, Styled Components

์„ค๋ช…

ํฌ์ผ“๋ชฌ API๋ฅผ ์•Œ๊ฒŒ๋˜์–ด ์ž‘์—…์„ ์ง„ํ–‰ํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. React Query๋Š” ๋ฌผ๋ก  ๋ฌดํ•œ ์Šคํฌ๋กค๋ง, ๋‹คํฌ๋ชจ๋“œ, axios๋ฅผ ๊ณต๋ถ€ํ•˜๊ธฐ ์œ„ํ•ด ์ œ์ž‘ํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

  • ํฌ์ผ“๋ชฌ์„ 20๊ฐœ์”ฉ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์Šคํฌ๋กคํ•  ๊ฒฝ์šฐ 20๊ฐœ์”ฉ ํฌ์ผ“๋ชฌ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ํŠน์ • ํฌ์ผ“๋ชฌ ํด๋ฆญ ์‹œ ํฌ์ผ“๋ชฌ ์ •๋ณด๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋‹คํฌ๋ชจ๋“œ/๋ผ์ดํŠธ๋ชจ๋“œ๋กœ ํ™•์ธ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
  • ์ฐพ๊ณ  ์‹ถ์€ ํฌ์ผ“๋ชฌ์„ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ž‘์—… ์‚ฌํ•ญ

แ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ซแ„‰แ…ฃแ†บ 2024-01-27 แ„‹แ…ฉแ„Œแ…ฅแ†ซ 2 17 04

  • ์ตœ์ ํ™”๋ฅผ ์œ„ํ•œ ์ฝ”๋“œ ์Šคํ”Œ๋ฆฌํŒ…
    • ํŽ˜์ด์ง€ ์ด๋™ ๊ตฌ๊ฐ„์— Lazy, Suspense์‚ฌ์šฉ
  • ์ด๋ฏธ์ง€ ํƒœ๊ทธ์— loading='lazy' ์ถ”๊ฐ€ํ•ด ๋ทฐํฌํŠธ์— ๋ณด์ด์ง€ ์•Š๋Š” ์ด๋ฏธ์ง€ ๋กœ๋”ฉ ์ง€์—ฐ
  • ์นด๋“œ ์ปดํฌ๋„ŒํŠธ์— ํฌ์ผ“๋ชฌ ๋ฐ์ดํ„ฐ๊ฐ€ ์—†์„ ๊ฒฝ์šฐ ์Šค์ผˆ๋ ˆํ†ค ๋ณด์ด๋„๋ก ์ž‘์—…
  • Redux Toolkit, localStorage๋ฅผ ํ™œ์šฉํ•ด ๋‹คํฌ๋ชจ๋“œ/๋ผ์ดํŠธ๋ชจ๋“œ ๊ตฌํ˜„
    • ์‚ฌ์šฉ์ž์—๊ฒŒ ๋‹คํฌ๋ชจ๋“œ/๋ผ์ดํŠธ๋ชจ๋“œ ์ œ๊ณต
    • ์ƒˆ๋กœ๊ณ ์นจํ•ด๋„ ํ…Œ๋งˆ๊ฐ€ ์œ ์ง€๋˜๋ฏ€๋กœ์จ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜ ํ–ฅ์ƒ
  • Axios, useQuery๋ฅผ ํ™œ์šฉํ•ด ํฌ์ผ“๋ชฌ ๋ฐ์ดํ„ฐ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ
  • scrollHeight, scrollTop, clientHeight์š”์†Œ๋ฅผ ํ™œ์šฉํ•ด ๋ฌดํ•œ ์Šคํฌ๋กค ๊ตฌํ˜„
  • URLSearchParams๋ฉ”์„œ๋“œ๋ฅผ ํ™œ์šฉํ•ด ๊ฒ€์ƒ‰ ํŽ˜์ด์ง€ ๊ตฌํ˜„
    • ๊ฒ€์ƒ‰ ๊ธฐ๋ก์ด ์—†์„ ๊ฒฝ์šฐ Nothingํ™”๋ฉด ํ‘œ์‹œ

Trouble Shooting

  • ๋ฌธ์ œ์  : ํฌ์ผ“๋ชฌ ๋ฐ์ดํ„ฐ ๋ฆฌ์ŠคํŠธ๋ฅผ ์—…๋ฐ์ดํŠธ ํ•˜๋Š” useEffect๊ฐ€ ์ดˆ๊ธฐ ๋ Œ๋”๋ง์‹œ 1๋ฒˆ๋งŒ ํ˜ธ์ถœ๋˜์–ด์•ผ ํ•˜๋Š”๋ฐ 3๋ฒˆ ํ˜ธ์ถœ ๋˜๋Š” ์ด์Šˆ
  • ํ•ด๊ฒฐ ๋ฐฉ์•ˆ : ์ดˆ๊ธฐ ๋ Œ๋”๋ง ์‹œ ๋ชจ์ผ“๋ชฌ ๋ฆฌ์ŠคํŠธ๊ฐ€ ๋นˆ ๋ฐฐ์—ด๋กœ ๋“ค์–ด์˜ค๋Š”๋ฐ ์ด ๋•Œ useEffect๊ฐ€ 2๋ฒˆ ํ˜ธ์ถœ๋˜๋Š” ์ด์Šˆ๋ฅผ ํ™•์ธ, useEffect์— ํฌ์ผ“๋ชฌ ๋ฐ์ดํ„ฐ ๋ฆฌ์ŠคํŠธ๊ฐ€ ์žˆ์„ ๊ฒฝ์šฐ์—๋งŒ ์‹คํ–‰ํ•˜๋„๋ก ์ˆ˜์ •.
useEffect(() => {
  const eventScroll = () => {
    const { scrollHeight, scrollTop, clientHeight } = document.documentElement;

    if (scrollTop + clientHeight >= scrollHeight) {
      upDatePokemon();
    }
  };

  if (pokemonList.length > 0) {
    window.addEventListener('scroll', eventScroll);
    return () => {
      window.removeEventListener('scroll', eventScroll);
    };
  }
}, [pokemonList]);

์ถ”๊ฐ€ ๊ธฐ๋Šฅ(์˜ˆ์ •)

  • ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ
    • ํ•„ํ„ฐ๋ง ๊ธฐ๋Šฅ
  • ๋ฐ˜์‘ํ˜•
  • ๋งˆ์ดํŽ˜์ด์ง€
    • ๊ฐ„๋‹จํ•œ ๋กœ๊ทธ์ธ
    • ๋ถ๋งˆํฌ ๊ธฐ๋Šฅ
  • ํ•œ๊ตญ์–ด, ์˜์–ด ์ง€์›
    • ํ•œ๊ตญ์–ด ๊ฒ€์ƒ‰ ๊ฐ€๋Šฅํ•˜๋„๋ก ํ•˜๊ธฐ
  • ์ด๋ฏธ์ง€ ๋กœ๋”ฉ ์‹œ ๋Š๊น€ ํ˜„์ƒ ๊ฐœ์„ ํ•˜๊ธฐ
  • ๋””ํ…Œ์ผ ํ™”๋ฉด ์ ์šฉ ๋Š๋ฆผ ํ˜„์ƒ ๊ฐœ์„ ํ•˜๊ธฐ

๊ด€๋ จ ๋งํฌ

[๊ธฐ๋Šฅ] ๋‹คํฌ๋ชจ๋“œ ๊ตฌํ˜„ํ•˜๊ธฐ
[๊ธฐ๋Šฅ] ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„ํ•˜๊ธฐ
[์ด์Šˆ] useEffect ๋ถˆํ•„์š”ํ•œ ํ˜ธ์ถœ ๋ง‰๊ธฐ
[์ด์Šˆ] ๋ถˆํ•„์š”ํ•œ ๋ Œ๋”๋ง ๋ง‰๊ธฐ

์ž‘์—… ํ™”๋ฉด

Main Detail
แ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ซแ„‰แ…ฃแ†บ 2024-02-01 แ„‹แ…ฉแ„Œแ…ฅแ†ซ 12 53 28 แ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ซแ„‰แ…ฃแ†บ 2024-02-01 แ„‹แ…ฉแ„Œแ…ฅแ†ซ 12 53 38
- ์ƒ๋‹จ ๋กœ๊ณ ์™€ ๊ฒ€์ƒ‰๋ฒ„ํŠผ, ๋‹คํฌ ๋ชจ๋“œ ๋ฒ„ํŠผ
- ๊ฒ€์ƒ‰์ฐฝ(์ž‘์—… ์ „)
- ํฌ์ผ“๋ชฌ ๋ฆฌ์ŠคํŠธ๋ฅผ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ๋‹ค.
- ํฌ์ผ“๋ชฌ ์นด๋“œ ํด๋ฆญ ์‹œ ์ƒ์„ธ ์ •๋ณด๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
Dark Mode Dark Mode Detail
แ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ซแ„‰แ…ฃแ†บ 2024-02-01 แ„‹แ…ฉแ„Œแ…ฅแ†ซ 12 54 00 แ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ซแ„‰แ…ฃแ†บ 2024-02-01 แ„‹แ…ฉแ„Œแ…ฅแ†ซ 12 54 12
- ๋‹คํฌ ๋ชจ๋“œ์˜ ํ™”๋ฉด - ๋‹คํฌ ๋ชจ๋“œ์˜ ํ™”๋ฉด
Search Page Search Page - Nothing
แ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ซแ„‰แ…ฃแ†บ 2024-02-01 แ„‹แ…ฉแ„Œแ…ฅแ†ซ 12 54 41 แ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ซแ„‰แ…ฃแ†บ 2024-02-01 แ„‹แ…ฉแ„Œแ…ฅแ†ซ 12 54 54
- ๊ฒ€์ƒ‰์ฐฝ ์ž…๋ ฅ ํ›„ ์—”ํ„ฐ์‹œ ๊ฒ€์ƒ‰ ํŽ˜์ด์ง€๋กœ ์ด๋™
- ๋’ค๋กœ๊ฐ€๊ธฐ ๋ฒ„ํŠผ ํด๋ฆญ์‹œ ์ด์ „ ๊ธฐ๋ก์œผ๋กœ ์ด๋™
- ๊ฒ€์ƒ‰ํ•œ ๋ฆฌ์ŠคํŠธ ํ‘œ์‹œ
- ๊ฒ€์ƒ‰ํ•œ ํฌ์ผ“๋ชฌ์ด ์—†์„ ๊ฒฝ์šฐ

Git Commit( feat: โ€œ์ปค๋ฐ‹ ๋‚ด์šฉโ€ )

init: ์ดˆ๊ธฐ ์„ธํŒ…์„ ํ–ˆ์„ ๊ฒฝ์šฐ
setup: ํด๋” ํ˜น์€ ์ „์ฒด์ ์ธ ๊ตฌ์กฐ์˜ ๋ณ€๊ฒฝ์ด ์žˆ์„ ๊ฒฝ์šฐ
feat: ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•  ๊ฒฝ์šฐ
fix: ๋ฒ„๊ทธ๋ฅผ ๊ณ ์นœ ๊ฒฝ์šฐ
docs: ๋ฌธ์„œ๋ฅผ ์ˆ˜์ •ํ•œ ๊ฒฝ์šฐ
style: ์ฝ”๋“œ ํฌ๋งท ๋ณ€๊ฒฝ, ์„ธ๋ฏธ ์ฝœ๋ก  ๋ˆ„๋ฝ, ์ฝ”๋“œ ์ˆ˜์ •์ด ์—†๋Š” ๊ฒฝ์šฐ
refactor: ํ”„๋กœ๋•์…˜ ์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋ง
test: ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€, ํ…Œ์ŠคํŠธ ๋ฆฌํŒฉํ† ๋ง (์ฝ”๋“œ ๋ณ€๊ฒฝ X)
chore: ๋นŒ๋“œ ํ…Œ์ŠคํŠธ ์—…๋ฐ์ดํŠธ, ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ €๋ฅผ ์„ค์ •ํ•˜๋Š” ๊ฒฝ์šฐ (์ฝ”๋“œ ๋ณ€๊ฒฝ X)
design: CSS ๋“ฑ ์‚ฌ์šฉ์ž UI ๋””์ž์ธ ๋ณ€๊ฒฝ
comment: ํ•„์š”ํ•œ ์ฃผ์„ ์ถ”๊ฐ€ ๋ฐ ๋ณ€๊ฒฝ
rename: ํŒŒ์ผ ํ˜น์€ ํด๋”๋ช…์„ ์ˆ˜์ •ํ•˜๋Š” ๊ฒฝ์šฐ
remove: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ํŒŒ์ผ ํ˜น์€ ํด๋”๋ฅผ ์‚ญ์ œํ•˜๋Š” ๊ฒฝ์šฐ

About

๐Ÿ“ํฌ์ผ“๋ชฌ ๋„๊ฐ๐Ÿ“

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published