iT邦幫忙

2022 iThome 鐵人賽

DAY 29
0
Modern Web

Full Stack Web Development 網站實作系列 第 29

Day 29 GraphQL(7) - Apollo Client - Gúa ê Tâi-gí chheh tô͘-su-koán(我的台語冊圖書館) app

  • 分享至 

  • xImage
  •  

新增一個 React app,這個 app 將使用 Apollo client library,來存取我們先前建立的 Apollo server 的資料。

執行下列指令:

npx create-react-app graphql-client
cd graphql-react
npm install @apollo/client graphql

修改 /src/index.js 如下:

import React from 'react';
import ReactDOM from 'react-dom/client';
import App from './App';

import { ApolloClient, HttpLink, InMemoryCache, gql} from '@apollo/client'

const client = new ApolloClient({   // 建立一個新的 client object
  cache: new InMemoryCache(),
  link: new HttpLink({
    uri: 'http://localhost:4000',
  })
})

const query = gql`
  query {
    allBooks  {
      title,
      published,
      genres,
      author {
        name,
        born
      }
      id
    }
  }
`

client.query({ query })  // 使用先前建立的 client 傳送 query 到 server
  .then((response) => {
    console.log(response.data)  // server 的回應會顯示在 console 上
  })


const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(
  <React.StrictMode> 
      <App />
  </React.StrictMode>  
);

執行 npm start (記得要在另一 terminal 啟動 Apollo server)
打開瀏覽器, 至 localhost:3000,在到 console 看結果如下:
https://ithelp.ithome.com.tw/upload/images/20221014/20129584PbWUhNgwPM.png


上一篇
Day 28 GraphQL(7) - Apollo Server -Mutation - Gúa ê Tâi-gí chheh tô͘-su-koán(我的台語冊圖書館) app(4)
下一篇
Day 30GraphQL(8) - Apollo Client - Gúa ê Tâi-gí chheh tô͘-su-koán(我的台語冊圖書館) app
系列文
Full Stack Web Development 網站實作30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言