본문 바로가기
카테고리 없음

7.3부터 영화 웹 서비스

by sum_mit45 2022. 3. 28.
728x90
반응형

[영화 웹 서비스 프로젝트]

- 영화를 보여줌

- 영화들에 대한 정보 보여줌 + 링크

 

앱 안에서 페이지를 전환하는 방법

 

 

async-await

useEffect (() => {
    fetch(
      `https://yts.mx/api/v2/list_movies.json?minimum_rating=9&sort_by=year`
    )
    .then((response) => response.json())
    .then((json) => {
      setMovies(json.data.movies);
      setLoading(false);
    });
  }, []);

 

 

  const getMovies = async() => {
    const json = await (
      await fetch(
      `https://yts.mx/api/v2/list_movies.json?minimum_rating=9&sort_by=year`
      )
    ).json();
    setMovies(json.data.movies);
    setLoading(false);
  };

  useEffect (() => {
    getMovies()
  }, []);

 

 

React Router

1. npm install react-router-dom

(npm i react-router-dom@5.3.0)

 

2. import{ BrowserRouter as Router, Switch, Route } from "react-router-dom";

 

3. <Router> </Router> 렌더링

그안에 <Switch> </Switch> -> 한번에 하나만 렌더링 하기 위해서

그안에 <Route path=""><함수 /></Route>

 

4. Route 내 이동

*a href를 사용해도 되지만, 모든 페이지가 재실행된다

*reactjs를 사용해서 재실행 하는 것을 피하고 싶기 때문

 

5. <Link to="" ></Link>

Link는 브라우저 새로고침 없이도 유저를 다른 페이지로 이동시켜주는 컴포넌트

import {Link} from  "react-router-dom";

 

react-router는 동적 url을 지원한다

- '동적'이란 의미는 url에 '변수'를 넣을 수 있다는 것

<Route path="/movie/:id">
	<Detail />
</Route>

 

6. react-router에서 사용하는 url에 있는 값을 반환해주는 함수

import { useParams } from "react-router-dom";

 

 

7.7 Publishing

1. npm i gh-pages

github pages에 업로드 할 수 있게 해주는 패키지

github pages는 github에서 제공하는 무료 서비스, html/js/css를 올리면 웹사이트로 만들어서 전세계에 무료로 배포해준다

 

2. package.json에 있는 scripts 확인

"build" -> script를 실행하면 웹 사이트의 production ready code 생성 ( npm run build)

-  production ready code :  코드가 압축되고 모든게 최적화 된다는 의미

 

3. npm run build

'build'라는 새로운 폴더가 생긴다

 

4. package.json 에서 

마지막 줄에서

, "homepage" : "https://githubusername.github.io/github repository"를 적는다.

 

5. package.json에서

"scripts" : {

    "deploy" :  "gh-pages -d build"

    "predeploy" : "npm run build"

},

 

6. npm run deploy

하면 자동으로 predeploy 실행

predeploy가 npm run build -> build가 react-scripts build 실행

gh-pages -d build가 실행됨

 

 

*git remote -v를 통해서 내 repository의 이름 확인 가능

github pages에 push

728x90
반응형