๐ฌ ReactJS๋ก ์ํ ์น ์๋น์ค ๋ง๋ค๊ธฐ (11) - Moive App ๋ง๋ค๊ธฐ
๋๋์ด ๊ฐ์์ ๋ง์ง๋ง ์ฝ์ค์ธ ์ํ ์น ์๋น์ค ๋ง๋ค๊ธฐ !! ๐คฉ๐คฉ
์ฐจ๊ทผ์ฐจ๊ทผ ๋ง๋ค์ด๋ณด์ฅ
์ํ API ๊ฐ์ ธ์ค๊ธฐ
์ด๋ฒ์๋ ์ํ ์ ๋ณด๋ค์ ๊ฐ์ ธ์ค๊ธฐ ์ํด https://yts.mx/api/v2/list_movies.json ์ด API๋ฅผ ์ฌ์ฉํ ๊ฒ์ด๋ค
๋๋ ๊ทธ ์ค์์๋ ๋ณ์ ์ด 9์ ์ด์์ด๊ณ ์ฐ๋๋ณ๋ก ์ ๋ ฌํ ๊ฐ์ ๊ฐ์ ธ์ค๊ณ ์ถ์ด์ url๋ค์ minimum_rating=9&sort_by=year ๋ฅผ ์ถ๊ฐํด์ฃผ์๋ค
๐งฉ then ๋์ async-await
์ ๊ฒ์๋ฌผ์์์ coin tracker๋ฅผ ๋ง๋ค๋ api์์ json data๋ฅผ ๊ฐ์ ธ์ฌ ๋
1
2
3
4
5
6
fetch("https://yts.mx/api/v2/list_movies.json?minimum_rating=9&sort_by=year")
.then((response) => response.json())
.then((json) => {
setMoives(json.data.movies);
setLoading(false);
});
์ด๋ฐ์์ผ๋ก then
์ ์ฌ์ฉํ์์ง๋ง ๋ณดํต์ then
๋์ โญasync-await
โญ๋ฅผ ์ฌ์ฉํ๋ค
1
2
3
4
5
6
7
8
9
10
11
const getMovies = async () => {
const response = await fetch(
"https://yts.mx/api/v2/list_movies.json?minimum_rating=9&sort_by=year"
);
const json = await response.json();
setMoives(json.data.movies);
setLoading(false);
};
useEffect(() => {
getMovies();
}, []);
์ด๋ ๊ฒํ๋ฉด ์์์์ then
์ ์ฌ์ฉํ ์ฝ๋์ ๋์ผํ๊ฒ ๋์ํ๋ค
์ด getMovies
ํจ์ ์ฝ๋๋ฅผ ๋ ์ค์ด๋ฉด
1
2
3
4
5
6
7
8
9
const getMovies = async () => {
const json = await (
await fetch(
"https://yts.mx/api/v2/list_movies.json?minimum_rating=9&sort_by=year"
)
).json();
setMoives(json.data.movies);
setLoading(false);
};
์ด๋ ๊ฒ await
๊ฐ ๋ ๋ค๋ฅธ await
๋ฅผ ๊ฐ์ธ๊ณ ์๋ ํํ๋ก ์ค์ผ ์๋ ์๋ค!
์ด ์ดํ๋ถํฐ๋ ์ด ์ ์ coin tracker๋ฅผ ๋ง๋ค๋์ ๊ฐ์ด ๊ฐ์ ธ์จ api data๋ค์ ์ด์ฉํด ์ฝ๋๋ฅผ ์์ฑํ๊ณ , ๊พธ๋ฉฐ์ฃผ์๋ค
๐ ์ด๋ ค์ ๋ ์
ํค๋์ MOVIE COLLECTION ํ
์คํธ ์์น๋ฅผ ์ ๋ณด๋ฉด,,,
ํ ํ๋ฉด์์ api๋ฅผ ๋ถ๋ฌ์ค๊ธฐ ์ ์ ๋ก๋ฉ์ค์ผ ๋์ ๋ก๋ฉ๋ ํ์ ํ
์คํธ ์์น๊ฐ ๋ฏธ์ธํ๊ฒ ์์ง์ด๋ ๊ฒ์ ๋ฐ๊ฒฌํ๋ค
์ฒ์์ ๋ด๊ฐ ํค๋์ ์คํ์ผ์ ์ด์ํ๊ฒ ์ค ์ค ์๊ณ ์ด๊ฒ์ ๊ฒ ์ง์ฐ๊ณ ์ถ๊ฐํ๊ณ ๋ฅผ ๋ฐ๋ณตํ๋๋ฐ,,
์๊ณ ๋ณด๋ api๊ฐ ๋ก๋ฉ๋ ํ์ ์คํฌ๋กค๋ฐ๊ฐ ์๊ฒจ์ ์คํฌ๋กค๋ฐ์ ๋๋น ๊ธธ์ด ๋๋ฌธ์ ํค๋์ ๊ธธ์ด๋ ๊ฐ์ด ๋ฐ๋๋ ๊ฑฐ์๋ค..๐คฆ๐ปโโ๏ธ
์คํฌ๋กค๋ฐ๋ ์๊ฐ๋ ๋ชปํ๋ค ์ง์งโฆ.
๊ทธ๋์ ์ด๋ป๊ฒ ํด๊ฒฐํ์๋๋ !
ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๋งค์ฐ ๊ฐ๋จํ์
๐ ํด๊ฒฐ ๋ฐฉ๋ฒ
html์ body๋ฅผ 100vw๋ก ์ค์ ํ๋ฉด ๋๋ค.
1
2
3
4
5
6
html,
body {
width: 100vw;
overflow-x: hidden;
overflow-y: auto;
}
์ด๊ฒ๋ง ์ถ๊ฐํ๋ฉด,,
(๋์ถฉ ํธ์ํ๋ค๋ ์งค)
์ฌ๊ธฐ์ ํ๊ฐ์ง ์ ์ํ ์ ์ ์คํฌ๋กค๋ฐ๊ฐ ๋ํ๋๋ฉด ์คํฌ๋กค๋ฐ ๋๋ฌธ์ ๋งจ ์ค๋ฅธ์ชฝ์ด ์ฝ๊ฐ ์๋ฆฐ๋ค๋ ๊ฒ.
์ด ์ ์ ์ผ๋ํด ๋๊ณ ์คํ์ผ ์ฝ๋๋ฅผ ์์ฑํ๋ฉด ๋ ๊ฒ ๊ฐ๋ค
๐ฅ๏ธ ์ต์ข ๊ฒฐ๊ณผ๋ฌผ
์์ฒญ๋๊ฒ ๋ง์กฑ์ค๋ฝ์ง ์์ง๋ง,, ๊ทธ๋ฅ ๊น๋ํ๊ฒ ๊พธ๋ฏธ๋ ๊ฒ์ ๋ชฉํ๋ฅผ ๋๊ณ ๋ง๋ค์ด๋ณด์๋ค