โœ… ์ฒดํฌ๋ฆฌ์ŠคํŠธ

โœ๏ธ ๋ฆฌ๋ทฐ

๋ฒ„๊ทธ

1. ๊ฒ€์ƒ‰ ์‹คํŒจ ์‹œ ์—๋Ÿฌ ์ฒ˜๋ฆฌ

:: ๋ฌธ์ œ

Result ํŽ˜์ด์ง€์—์„œ, Pagiation ์ปดํฌ๋„ŒํŠธ๋ฅผ ํ†ตํ•ด์„œ, ๋„์„œ ์ •๋ณด fetch์— ๋Œ€ํ•œ ํŽ˜์ด์ง€๋„ค์ด์…˜์„ ๊ด€๋ฆฌํ•˜๊ณ  ์žˆ์Šต๋‹ˆ. ํ•˜์ง€๋งŒ, ๋„์„œ ์ •๋ณด๊ฐ€ ๊ฒ€์ƒ‰๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๋‚˜, ๋” ์ด์ƒ ํ‘œ์‹œํ•  ๋„์„œ ์ •๋ณด๊ฐ€ ์—†์„ ์‹œ, ๋กœ๋”ฉ์ค‘์ด๋ผ๋Š” ํ‘œ๊ธฐ๋งŒ ๊ณ„์†ํ•ด์„œ ํ‘œ์‹œํ•  ๋ฟ, ๋ณ„๋‹ค๋ฅธ ์กฐ์น˜๊ฐ€ ๋˜์–ด ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

:: ํ•ด๊ฒฐ

๋„์„œ์˜ ์Šคํ† ์–ด, ์•ก์…˜, ๋ฆฌ๋“€์„œ๋ฅผ ์ด๊ด„ํ•˜๋Š” books.js๋ฅผ ์‚ดํŽด๋ณด๋ฉด, try, catch๋ฅผ ์ด์šฉํ•˜์—ฌ, fetchํ•  ๋•Œ ์ด์ƒ์ด ์ƒ๊ธฐ๋ฉด, ์˜ค๋ฅ˜๋ฅผ ์บ์น˜ํ•ด getItemsFailure(error ํ•จ์ˆ˜ ์•ˆ์—์„œ books์˜ state์— error์˜ ๊ฐ’์„ ๋ฐ”๊ฟ”์ฃผ๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ, Pagination.js์—์„œ books์˜ state ๊ฐ’ ์ค‘ error์— ๊ฐ’์ด ๋“ค์–ด๊ฐ€ ์žˆ์„ ๊ฒฝ์šฐ, ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ ์ƒํ™ฉ์ด๊ธฐ ๋•Œ๋ฌธ์—, ์ด์— ๋”ฐ๋ผ์„œ ๊ธฐ์กด์˜ ๋กœ๋”ฉ์ค‘ ๋ฒ„ํŠผ๊ณผ ๋‹ค๋ฅธ ์—๋Ÿฌ ๋ฉ”์‹œ์ง€๊ฐ€ ๋ณด์ด๊ฒŒ ์ฒ˜๋ฆฌํ•˜์˜€์Šต๋‹ˆ๋‹ค.

2. ํ•„ํ„ฐ๋ง ์ •๋ ฌ ๋ฒ„๊ทธ

ํ•„ํ„ฐ๋ง ๊ณผ์ •์—์„œ ํ•„ํ„ฐ๋ง๊ณผ ๋„์„œ ์ข…๋ฅ˜, ๋‘ ํ•ญ๋ชฉ์€ ์ •์ƒ์ ์œผ๋กœ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ, ์ •๋ ฌ ์ˆœ์„œ ํ•ญ๋ชฉ์—์„œ ๊ด€๋ จ์„ฑ/์ตœ์‹ ์ˆœ ๋ถ€๋ถ„์ด ๋™์ผํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์ฒ˜์Œ์—” response๋ฅผ ์ž˜๋ชป๋œ ํ˜•์‹์œผ๋กœ ๋ณด๋‚ธ ๊ฒƒ์œผ๋กœ ์ƒ๊ฐํ•˜์—ฌ, API ๊ณต์‹ ๋ฌธ์„œ์—์„œ ํ™•์ธํ•œ ๋Œ€๋กœ response๋ฅผ ๋‚ ๋ ธ๋Š”๋ฐ๋„ ๋™์ผํ•œ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ, ํ•ด๋‹น ์—๋Ÿฌ์— ๋Œ€ํ•ด์„œ๋Š” ์„œ๋ฒ„ ๋‚ด๋ถ€์—์„œ ์ผ์–ด๋‚œ ์—๋Ÿฌ๋กœ ๊ฒฐ๋ก ์„ ๋‚ด๋ ธ์Šต๋‹ˆ๋‹ค.