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

๐Ÿ‘ฉ‍๐Ÿ’ป ๊ฐœ๋ฐœ ๊ณต๋ถ€

[React] Movie App ๋งŒ๋“ค๊ธฐ (๊ฐœ์ธ ํ”„๋กœ์ ํŠธ) - 3

728x90
John Ahn๋‹˜์˜ ์ธํ”„๋Ÿฐ ๊ฐ•์˜๋ฅผ ๋”ฐ๋ผ๊ฐ€๋ฉด์„œ ์ง„ํ–‰์ค‘์ž…๋‹ˆ๋‹ค.
๊ฐœ์ธ ๊ณต๋ถ€ ์šฉ๋„๋กœ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์ œ ์‹œ ์‚ญ์ œ

 

https://xxilliant.tistory.com/75

 

[React] Movie App ๋งŒ๋“ค๊ธฐ (๊ฐœ์ธ ํ”„๋กœ์ ํŠธ) - 2

John Ahn๋‹˜์˜ ์ธํ”„๋Ÿฐ ๊ฐ•์˜๋ฅผ ๋”ฐ๋ผ๊ฐ€๋ฉด์„œ ์ง„ํ–‰์ค‘์ž…๋‹ˆ๋‹ค. ๊ฐœ์ธ ๊ณต๋ถ€ ์šฉ๋„๋กœ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์ œ ์‹œ ์‚ญ์ œ https://xxilliant.tistory.com/73 [React] Movie App ๋งŒ๋“ค๊ธฐ (๊ฐœ์ธ ํ”„๋กœ์ ํŠธ) - 1 John Ahn๋‹˜์˜ ์ธํ”„๋Ÿฐ ๊ฐ•์˜๋ฅผ ๋”ฐ

xxilliant.tistory.com

 

1. ์ง„ํ–‰ ์‚ฌํ•ญ (ํ˜„ ํฌ์ŠคํŒ… ๊ธฐ์ค€)

 

Load More (๋”๋ณด๊ธฐ ๋ฒ„ํŠผ) ๊ธฐ๋Šฅ ๋งŒ๋“ค๊ธฐ

 

๊ฐ•์˜ ์Šคํฌ๋ฆฐ์ƒท

 

 

2. ํ•จ์ˆ˜ ๋ถ„๋ฆฌ

 

๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ๋ถˆ๋Ÿฌ์˜ค๋Š” page๊ฐ€ ๋ณ€๊ฒฝ๋˜๋„๋ก ํ•จ์ˆ˜๋ฅผ ์งค๊ฑด๋ฐ,

fetch ๋ถ€๋ถ„์„ ์žฌ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ๋ถ„๋ฆฌํ•ด์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.

 

๊ทธ๋ฆฌ๊ณ  ํŽ˜์ด์ง€ ๋ฆฌ์…‹์ด ์•„๋‹Œ, ๋ชฉ๋ก ๋ˆ„์ ์„ ์œ„ํ•ด setMovies ๋ถ€๋ถ„ ์ฝ”๋“œ๋ฅผ

setMovies( [...Movies, ...response.results] ) ๋กœ ๋ฐ”๊ฟ”์ค๋‹ˆ๋‹ค

CurrentPage ๋ณ€์ˆ˜๋„ ๋งŒ๋“ค์–ด์ค๋‹ˆ๋‹ค (useState๋กœ)

 

 

๊ทธ๋ฆฌ๊ณ  ๋ฒ„ํŠผ์— onClick ์ด๋ฒคํŠธ๋ฅผ ์ถ”๊ฐ€ํ•ด์ค๋‹ˆ๋‹ค. ํ•จ์ˆ˜๋ช…์€ loadMoreItems

 

button event

 

ํ•จ์ˆ˜์˜ ๋‚ด์šฉ์€ endpoint url์˜ ๋งˆ์ง€๋ง‰ ํŽ˜์ด์ง€ ๋ถ€๋ถ„์„ 1์”ฉ ์ฆ๊ฐ€์‹œํ‚ค๊ณ 

๊ทธ ํŽ˜์ด์ง€๋ฅผ ํ•จ๊ป˜ fetchํ•˜๊ธฐ.

 

์ด๋ฒˆ ๋‚ด์šฉ์€ ๊ฐ„๋‹จํ•˜๋„ค์š”. ๋.

 

์ •์ƒ์ ์œผ๋กœ ์ž‘๋™๋จ

 

๊ทผ๋ฐ ์™ธ๊ตญ ๊ธฐ์ค€์ด๋ผ ๊ทธ๋Ÿฐ์ง€ ์ˆœ์œ„๊ถŒ์— ํ˜ธ๋Ÿฌ๋ฌผ์ด ๋งŽ์€๋“ฏ;

 

728x90