首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在React中填充Github GraphQL (Gatsby)

在React中填充Github GraphQL (Gatsby)可以通过以下步骤完成:

  1. 首先,确保你已经安装了React和Gatsby的开发环境。你可以使用Node.js和npm来安装它们。
  2. 创建一个新的Gatsby项目。在命令行中运行以下命令:
代码语言:txt
复制
gatsby new my-github-app
  1. 进入项目目录:
代码语言:txt
复制
cd my-github-app
  1. 安装必要的依赖项。运行以下命令:
代码语言:txt
复制
npm install @apollo/client graphql
  1. 创建一个新的React组件来填充Github GraphQL数据。在src目录下创建一个新的文件,例如GithubData.js,并添加以下代码:
代码语言:txt
复制
import React from 'react';
import { ApolloClient, InMemoryCache, gql } from '@apollo/client';

const client = new ApolloClient({
  uri: 'https://api.github.com/graphql',
  cache: new InMemoryCache(),
  headers: {
    Authorization: `Bearer YOUR_GITHUB_TOKEN`,
  },
});

const GithubData = () => {
  const [data, setData] = React.useState(null);

  React.useEffect(() => {
    client
      .query({
        query: gql`
          query {
            viewer {
              login
              repositories(first: 5) {
                nodes {
                  name
                  description
                }
              }
            }
          }
        `,
      })
      .then((result) => setData(result.data));
  }, []);

  if (!data) {
    return <div>Loading...</div>;
  }

  return (
    <div>
      <h1>My Github Repositories</h1>
      <ul>
        {data.viewer.repositories.nodes.map((repo) => (
          <li key={repo.name}>
            <h3>{repo.name}</h3>
            <p>{repo.description}</p>
          </li>
        ))}
      </ul>
    </div>
  );
};

export default GithubData;
  1. 在你的主组件中使用GithubData组件。在src目录下的pages文件夹中创建一个新的文件,例如index.js,并添加以下代码:
代码语言:txt
复制
import React from 'react';
import GithubData from '../components/GithubData';

const IndexPage = () => {
  return (
    <div>
      <h1>Welcome to my Github App</h1>
      <GithubData />
    </div>
  );
};

export default IndexPage;
  1. 运行项目。在命令行中运行以下命令:
代码语言:txt
复制
gatsby develop
  1. 打开浏览器并访问http://localhost:8000,你将看到你的Github仓库数据被填充到页面中。

这样,你就成功地在React中填充了Github GraphQL数据。这个例子使用了Apollo Client来发送GraphQL查询,并使用了Github的GraphQL API来获取用户的仓库数据。你可以根据自己的需求修改查询和展示的数据。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的合辑

领券