분류 Reactjs

React + GraphQL 2020 단기 집중 과정

컨텐츠 정보

  • 조회 276 (작성일 )

본문

React를 GraphQL과 함께 사용하는 것에 대해 많이 들었지만 이들을 결합하여 놀라운 앱을 빌드 하는 방법을 모르십니까? 

이 집중 과정에서는 완전한 소셜 블로깅 앱을 구축하여 이를 수행하는 방법을 배웁니다.


https://www.freecodecamp.org/news/the-react-graphql-2020-crash-course/ 


오후에 자신 만의 React 및 GraphQL 프로젝트를 구축 할 수 있는 핵심 기술을 습득하게 됩니다.


지금 시작 하시겠습니까? 여기에서 전체 과정에 액세스 할 수 있습니다.


GraphQL로 React를 배워야 하는 이유 ? 


React는 JavaScript로 놀라운 앱 경험을 구축하기 위한 최고의 라이브러리입니다. 반면에 GraphQL은 데이터를 가져오고 변경하는 더 좋고 직접적인 수단을 제공하는 도구입니다.


이 데이터는 표준 데이터베이스 (앱에서 사용하게 될 것임) 또는 Gatsby와 같은 React 프레임 워크에서 가능하며 마크 다운 파일과 같은 정적 파일에서도 가능합니다. 저장 방법에 관계없이 GraphQL은 앱의 데이터 작업을 개선합니다.


게시물을 작성, 읽기, 편집 및 삭제할 수 있는 소셜 블로깅 앱을 처음부터 끝까지 만들어 React 및 GraphQL의 기능을 활용하는 방법을 살펴 보겠습니다.

Click to access the course 


우리가 사용할 도구 ?️ 


크래시 코스는 React (useState 및 useEffect와 같은 핵심 React Hooks 포함)에 다소 익숙하지만 GraphQL에 아직 익숙하지 않은 개발자를 대상으로 합니다.


기본적인 React 지식이 있다고 가정하지만 GraphQL 지식은 필요하지 않습니다. 그 과정에서 필요한 모든 핵심 GraphQL 개념을 다룰 것입니다.


과정 전반에 걸쳐 다음 기술을 활용하여 앱을 만들 것입니다.


  • React (to build our user interface)
  • GraphQL (to get and change data in a declarative way)
  • Apollo Client (to allow us to use React and GraphQL together)
  • Hasura (to create and manage our GraphQL API + database)


이를 위해 온라인 IDE CodeSandbox를 사용할 것입니다. 이를 통해 파일, 폴더를 만들거나 자체적으로 종속성을 설치할 필요 없이 브라우저 내에서 전체 애플리케이션을 실시간으로 코딩 할 수 있습니다.


GraphQL API를 처음부터 만들기 


GraphQL 작업을 시작하기 위해 데이터베이스와 통신 할 전체 GraphQL API를 처음부터 만드는 방법을 살펴 보겠습니다.


다행히 (무료) 서비스 Hasura를 사용하면 이 프로세스는 매우 간단하고 간단합니다. 몇 초 안에 완전한 GraphQL API를 생성하고 웹에 배포하는 방법을 볼 수 있습니다.이 API는 앱 데이터를 저장하는 Postgres 데이터베이스에 연결됩니다.


Click to access the course 


GraphQL에 익숙해지기 


두 번째 강의에서는 GraphiQL이라는 API의 내장 콘솔을 사용하여 GraphQL 언어로 작성하는 방법을 다룹니다.


먼저 모든 게시물 데이터에 대한 테이블을 데이터베이스에 생성합니다. 그 후 Hasura는 데이터베이스에서 데이터를 가져오고 변경할 수 있는 GraphQL 작업의 이름 인 필요한 쿼리와 변형을 자동으로 생성합니다.


이 강의를 통해 GraphiQL에서 매우 친숙한 수행 쿼리 및 변형을 얻을 수 있습니다.이를 통해 전체 게시물 및 개별 게시물 집합을 가져오고 개별 게시물 데이터를 생성, 업데이트 및 삭제할 수 있습니다.


Click to access the course 


Apollo Client를 사용하여 React를 GraphQL API와 연결 


이제 GraphQL 사용에 익숙해지고 핵심 기능을 이해 했으므로 React 클라이언트와 연결하는 방법을 살펴 보겠습니다.


React 앱을 우리가 만든 GraphQL API와 연결하는 방법은 Apollo라는 라이브러리를 사용하는 것입니다. 다음과 같이 API를 가리키는 GraphQL 엔드 포인트를 제공하여 Apollo 클라이언트를 설정하는 방법을 살펴 보겠습니다.


import ApolloClient from "apollo-boost";

const client = new ApolloClient({
  uri: "https://react-graphql.herokuapp.com/v1/graphql"
});

새로 생성 된 클라이언트를 통해 React를 통해 GraphQL 작업을 실행할 수 있습니다. 그러나 이를 위해서는 모든 React 컴포넌트에 클라이언트를 전달해야 합니다. 우리는 아래에서 볼 수 있듯이 Apollo 공급자의 도움으로 이를 수행합니다.


Click to access the course 


useQuery로 게시물 가져 오기 


클라이언트를 설정 한 후에는 @apollo/react-hooks 패키지와 함께 제공되는 몇 가지 특별한 React 후크를 사용하여 다양한 GraphQL 작업을 실행하는 방법을 살펴 보겠습니다.


GraphQL로 데이터를 쿼리 할 수 있는 후크를 useQuery라고 합니다. 이를 통해 먼저 홈페이지에서 모든 게시물 데이터를 가져오고 표시하는 방법을 살펴 보겠습니다.


또한 gql이라는 특수 함수를 사용하여 JavaScript 파일에 GraphQL 쿼리를 직접 작성하는 방법을 배웁니다.


import React from "react";
import { useQuery } from "@apollo/react-hooks";
import { gql } from "apollo-boost";

export const GET_POSTS = gql`
  query getPosts {
    posts {
      id
      title
      body
      createdAt
    }
  }
`;

function App() {
  const { data, loading } = useQuery(GET_POSTS);

  if (loading) return <div>Loading...</div>;
  if (data.posts.length === 0) return <Empty />;

  return (
    <>
      <header className={classes.header}>
        <h2 className={classes.h2}>All Posts</h2>
        <Link to="/new" className={classes.newPost}>
          New Post
        </Link>
      </header>
      {data.posts.map(post => (
        <Post key={post.id} post={post} />
      ))}
    </>
  );
}

useMutation으로 새 게시물 작성 및 편집 


그 후 useMutation 후크를 사용하여 새 게시물을 만드는 방법을 살펴 보겠습니다. 이를 위해 GraphQL 변수를 사용하여 각 실행에 따라 변경되는 돌연변이 동적 값을 전달하는 방법을 살펴 보겠습니다.


그런 다음 게시물을 편집하는 방법을 살펴 보겠습니다. 이렇게 하려면 사용자가 데이터를 변경할 수 있도록 개별 게시물을 가져 와서 양식에 표시해야 합니다. 그런 다음 게시물 ID를 기반으로 업데이트를 수행 할 변형을 실행해야 합니다.


Click to access the course 


로딩 및 오류 처리 


다음 강의에서는 데이터 로드 프로세스를 처리하기 위한 몇 가지 필수 패턴을 다룰 것입니다.


뮤테이션을 실행할 때 그렇게 하는 것이 중요합니다. 뮤테이션이 실행될 때 양식을 여러 번 제출하지 않도록 해야 합니다. 또한 뮤테이션이 올바르게 실행되지 않은 경우 오류를 처리하는 방법도 살펴볼 것입니다.


Click to access the course 



게시물 삭제 


마지막으로 앱에서 게시물을 삭제하는 방법을 다룹니다. 먼저 사용자가 자신이 작성한 게시물을 실제로 삭제하고 싶은지 확인한 다음 변형을 수행합니다.


또한 Apollo가 제공하는 유용한 다시 가져 오기 기능을 사용하여 변형에 대응하여 UI를 업데이트하는 방법을 살펴 보겠습니다. 요청시 쿼리를 다시 실행할 수 있습니다. 이 경우 삭제 돌연변이가 성공적으로 수행 된 후에 수행합니다.


Click to access the course 


지금 과정보기 ? 


React와 GraphQL은 수많은 강력한 웹 및 모바일 앱의 핵심이며 둘을 배우기에 더할 나위 없이 좋은 시기 입니다.


이 과정을 수강 하면 한 시간 내에 개발자 기술을 의미 있게 성장 시키고 자신 만의 React 및 GraphQL 프로젝트를 생성 할 수 있는 핵심 통찰력을 제공 할 핵심 개념을 배우게 됩니다!


Click to access the course