ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • GraphQL + React 시작하기(Apollo)
    카테고리 없음 2020. 2. 18. 20:54

    GraphQl 을 리액트에서 사용하기 위해 아폴로 클라이언트를 사용한다

    import ApolloCilent from 'apollo-client';
    import {ApolloProvider} from 'react-apollo';
    
    import SongList from './components/SongList';
    
    
    const client = new ApolloCilent({})
    
    const Root = () => {
      return (
        <ApolloProvider client = {client}>
            <SongList/>
          </ApolloProvider>
        );
    };
    

    ㅇ 

     

    아폴로 프로바이더 를 최상단 레이어에 깔아 모든 컴포넌트에서 graphql에 접근 할수있게한다.

     

    다음은 쿼리를 작성해보자 쿼리를 위해서는 grapqhql-tag 라이브러리 가 필요하다

    import gql from 'graphql-tag';
    const query = gql`
        {
            songs{
                title
            }
        }
    `;

     이렇게 gql 를 사용해 쿼리를 작성한다

    쿼리를 사용해 데이터를 fetch하려면 react-apollo로 쉽게할수있다.

    import {graphql} from 'react-apollo';
    export default graphql(query)(SongList); //SongList 는 컴포넌트 이름

     

    export 부분에 graphql(query) 를 넣었다.

    graphql 함수는 함수를 리턴하고 그함수에 해당 컴포넌트를 매개변수로 넣어줌으로써

    해당 컴포넌트에 fetch 한 데이터가 props 로 들어간다.

    즉 SongList 의 props 에서 데이터를 확인 할수있다.

    class SongList extends Component{
        render(){
            console.log(this.props);
            return (
                <div>
                    SongList
                </div>
            )
        }
    }

    데이터

     

    댓글

Designed by Tistory.