React Grapqhl 아폴로를 이용한 클라이언트 환경 만들기.
1. 환경설치
yarn add react-router-dom graphql graphql-tag react-apollo@2.5 apollo-boost
2. 아폴로 클라이언트 프로바이더 만들기
------------------------------------------------------------ 아폴로 클라이언트 설정 : 어디서 데이터를 얻어올건가
import ApolloClient from "apollo-boost";
const client = new ApolloClient({
uri: "http://localhost:4000/"
});
export default client;
------------------------------------------------------------ 아폴로 프로바이더 컴포넌트로 - Query컴포넌트를 사용할수 있겠끔 기능 녹이기
import { ApolloProvider } from "react-apollo";
import client from "../apolloClient";
<ApolloProvider client={client}>
<Router />
<GlobalStyles />
</ApolloProvider>
3. 쿼리 사용하기
------------------------------------------------------------ 쿼리문 작성
import gql from "graphql-tag";
export const HOME_PAGE = gql`
{
Users {
id
name
password
picture
}
}
`;
------------------------------------------------------------ Query컴포넌트 + 쿼리문
import { Query } from "react-apollo";
import { HOME_PAGE } from "../../quries";
export default class HomeContainer extends React.Component {
render() {
return (
<Query query={HOME_PAGE}>
{({ loading, data, error }) => {
if (loading) return "loading..";
if (error) return "something happened";
return <HomePresenter Users={data.Users} />;
}}
</Query>
);
}
}
DOS IMPACT - WEB Developer
KIM DO YOUNG
WEB : REACT JS | REACT NATIVE | GraphQL PRISMA
'React JS > Lecture' 카테고리의 다른 글
React - Hook 리액트 훅 사용법 정리 (2) useQuery (0) | 2020.02.03 |
---|---|
React - Hook 리액트 훅 사용법 정리 (1) useState,useRef,createRef (0) | 2020.02.02 |
React 리액트 - Redux 대체해서 ApolloClient 써보기 (0) | 2020.02.02 |
React J N 스타일 컴포넌트 5가지 꿀팁 (0) | 2020.02.01 |
React 폰트 어썸 아이콘 사용하기 (0) | 2020.01.31 |