Notice
														
												
											
												
												
													Recent Posts
													
											
												
												
													Recent Comments
													
											
												
												
													Link
													
											
									| 일 | 월 | 화 | 수 | 목 | 금 | 토 | 
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 | 
| 12 | 13 | 14 | 15 | 16 | 17 | 18 | 
| 19 | 20 | 21 | 22 | 23 | 24 | 25 | 
| 26 | 27 | 28 | 29 | 30 | 31 | 
													Tags
													
											
												
												- DOM
- JavaScript
- this
- JS
- array
- nqueens
- 일상
- 리액트
- underscores
- 연습
- 개발
- 포스기
- underbar
- 코딩
- 클라이언트
- Instantiation Patterns
- 초보
- 공부
- ftech
- vscode
- 자바스크립트
- 알고리즘
- method
- 코드스테이츠
- grpahQL
- react
- 엔퀸즈
- 해커톤
- 제일어려워
- 취업
													Archives
													
											
												
												- Today
- Total
analogcoding
Apollo ready to get data 본문
라이브러리 설치
npx install --save apollo-boost
react-apollo
graphql-tag
graphqlreact apollo 구조 정리
react 환경에서 apollo 를 사용해서 graphQL data 를 가져오려면 먼저 apollo client 에서 서버와 연결하고
apollo privider 로 사용할 react 의 최상단 component 를 감싸준다.
data 의 스키마에서 필요한 부분을 따로 정의하고 가져올 수 있는 양식을 만든다.
(ex. 스키마에 id,nickname,password,email 등 많은 정보가 있어도 직접 정의해서 
id , nickname 등 필요한 정보만 가져와서 overfetching 을 방지할 수 있다.)
react 에서 필요한 부분에서 <Query query = { 정의한 양식 명 }> 내용 </Query> 로 불러와서 사용할 수 있다.
* 내용부분에서 data 에 상태에 따라 ( loading 일 때 , 도착했을 때 , error 일 때) 맞는 component 를 불러올 수 있다.
위 내용에 따라 크게 4개의 구조로 나누어진다.
1. render 될 page 코드
import React, { Component } from 'react'
import { Query } from 'react-apollo';
import gql from 'graphql-tag'
class 컴포넌트명 extends Component {
  render(){
	return (
		<div>
			<Query query={ 정한 gql 명 }>
              { 
			    ({ loadimg , data , error }) => {
					if(loading) something
					if(error)   something
                    if(data) // else
					
                    	return data.query내부명칭.map() // or 다른 방식
				  }
                })
              }
            </Query>
        </div>
    )
  }
}
2. apollo client = graphQL 서버와 연결하는 부분.
import ApolloClient from 'apollo-boost'
const client = new ApolloClient({
	uri : '서버 주소'
})
export default client;
3. query 를 정의하는 코드
import gql from 'graphql-tag'
const 쿼리문 이름 = gql`
	query {
    	테이블 이름 {
		  필요한 정보 1
          필요한 정보 2
          필요한 정보 3
        }
    }
`
4. 최상단 부분
import React, { Component } from 'react';
import { ApolloProvider } from 'react-apollo'
import client from 'apolloclient 가 있는 파일'
import 컴포넌트 명 from '컴포넌트가 있는 파일'
class 최상단 컴포넌트 extends Component {
	render() {
		return (
			<ApolloProvider client={client}>
				<컴포넌트 명 />
			</ApolloProvider>
        )
    }
}
export default 최상단 컴포넌트'Be well coding > Learn more' 카테고리의 다른 글
| Passport start (0) | 2019.07.27 | 
|---|---|
| ESlint 설정 ( with babel , prettier , gitignore) (0) | 2019.07.27 | 
| Apollo Token (0) | 2019.07.26 | 
| Apollo Start (0) | 2019.07.26 | 
| GraphQL 사용법 (0) | 2019.07.26 | 
			  Comments