首页
学习
活动
专区
工具
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来获取用户的仓库数据。你可以根据自己的需求修改查询和展示的数据。

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

相关·内容

2018 年前端开发五大趋势

GraphQL的实力也得到了证明:2017年,它被Github,Spotify,Walmart等知名公司所采用。...与 Jekyll,Hugo 或 Hexo 等流行解决方案不同,这个静态生成器不使用模板,而是信赖于 Webpack 和 React 组件(注意 React 官网本身也是 Gatsby 的帮助下编写的)...从1.0版本开始,Gatsby 使用了上面提到的 GraphQL。因此,构建过程,它可以从多个 GraphQL API 获得数据,然后使用它们创建一个完全静态的 React 客户端应用程序。...静态网站生成器专门用于解决此问题,Gatsby 是其中最好的,感谢 GraphQL。我们坚持认为,任何在职的前端工程师 2018 年至少都能掌握这个流行工具的基本知识。...它拥有几个状态(一个空列表,一个部分填充的列表,列表中所有元素都被填充,列表仅有一些元素被填充),我们需要适配每个元素的 UI。

2.9K40

Gatsby 创建一个博客

最后,我们有一个针对博客文章的 React 模板,还有一个连接的 GraphQL 查询来查询博客文章,并将 React 模板注入到查询的数据。...我们的 GraphQL“形状”直接反映在这个数据对象,因此,当我们GraphQL博客文章模板查询时,我们从该查询中提取的每个属性都将可用。...你不知道,我们 Gatsby 做到这一点有多容易,使用我们博客模板中使用的类似策略,例如一个 React 组件和一个 GraphQL 查询。...我们博客文章模板采用了类似的方法,因此这应该看起来非常熟悉。我们再一次导出包含了 GraphQL 查询的 pageQuery。...如果这个博客将托管Github页面上,这是很有用的。或者挂在 /blog。 现在这变得令人兴奋,感觉我们终于要成功了。

2.5K30

一杯茶的时间,上手 Gatsby 搭建个人博客

这时 @unicar[8] 正好推荐了基于 ReactGatsby[9]。发现其生态很强大,再搭配 React 庞大的生态,确实非常吸引人。...而且了解过程还发现了 Netlify CMS[10] 这个内容管理平台,如此一来,文章数据完全可以存在 Github ,同时可以便捷地编辑文章。...其实这里 GraphQL 并不是作为服务器端部署,而是作为 Gatsby 本地管理资源的一种方式。... Gatsby ,根据 js 文件的位置不同,使用 GraphQL 有两种形式,且 Gatsby 对其做了魔法, src/pages 下的页面可以直接 export GraphQL 查询,在其它页面需要用... /gatsby-node.js 配置 Gatsby Node APIs,如果项目是基于 starter 的话你很可能会发现里面已经有相应的配置。

3.2K20

如何利用机器学习和Gatsby.js创建假新闻网站​

,请查看最后的GitHub Gatsby.js 为了构建一个可以无限扩展且加载速度非常快的博客,我们需要一个能够构建和渲染静态资源的框架,这些静态资源可以很容易地部署web服务器上。...GitHub上的现成代码 本地机器上拥有站点文件和静态文件之后,就可以使用gatsby develop的本地开发服务器进行开发。...一个重要的插件是Gatsby -source-filesystem,它允许Gatsby从存储本地文件系统的文件中提取数据。...gatsby-node.js 此文件用于实现api。这些api可以使用GraphQL从数据层获取数据。处理程序化页面生成时,我们将更深入地研究这个文件的内容。...首页代码 import React from 'react' import { Link, graphql } from 'gatsby' import Masonry from 'react-masonry-component

4.5K60

Vue.js最佳静态站点生成器对比

VuePress ,每个页面都被视为一个 markdown 文件,它们被渲染为 HTML 页面,并在加载页面时充当一个单页应用程序。...与 React Gatsby 相似,Gridsome 是一个数据驱动的框架。Gridsome 使用一个 GraphQL 层从各种源获取内容,然后从中动态生成页面。...你可以使用 gridsome develop 命令本地运行项目,以 localhost:8080/___explore 处浏览这个 GraphQL 数据层。...此外,Gridsome 性能、学习曲线、社区规模等方面都能与 Gatsby 相提并论。...GitHub 统计数据 但我们应该注意的是,这些框架的每一个都有自己独特的功能。例如,Saber 计划扩展对 React 的支持,因此有可能成为全球热门产品。

4.8K10

大势 | 2018最值得关注的JavaScript趋势

GraphQL没有辜负2017年的炒作,像Yelp、Spotify、Github、沃尔玛、《纽约时报》等主流公司都在采用GraphQL,而且现在还有了基于GraphQL的API。...自从2016年以来它已经GitHub上面拿到了12000颗星。...Gatsby Gatsby是Kyle Mathews开发的用于React的静态网站生成器。 自从Kyle去年全职开发Gatsby以来,这个东西开始真正获得发展势头。...React网站本身就是用Gatsby开发的,再也有没有比这更有力的证明了。 Gatsby的全部关切都在于性能和给React提供尽可能快的web体验。...GitHub上拿到了20000多颗星的Immutable.js已经2017年崛起,预计还会延续到2018年,因为开发者正在花时间理解其中的概念和权衡。

79120

React服务器组件入门

Waku(wah-ku)或わく日语中意为“框架”。作为 一个极简的 React 框架,它旨在加速初创公司和机构的开发人员构建中小型 React 项目的工作。...值得一提的是,Waku 目前正在快速开发,只应在非生产项目中使用。 React 服务器组件简介 所以我的看法是:RSC 使 React 开发人员能够组件级别访问异步服务器端请求和结果数据。... RSC 之前,Next.js、Gatsby、Remix 和 Astro 等框架要求你路由级别进行服务器端请求。 以下是一些示例,说明你如何在上述每个框架实现此目的。...Gatsby ,你从未使用 GraphQL(一个普遍的误解)获取数据;相反,你正在查询它。...我从使用 Gatsby 的经验中知道,从组件轻松访问数据是有好处的。

11010

18年最受欢迎的JS项目

通过对比各项目过去 12 个月 GitHub 上新增 star 数量,来评估其 2018 年度的受关注程度,进而选出 2018 年度 JavaScript 领域崛起的明星项目。...它今年在 GitHub 上新增了超过 45k 的 star,比 2017 还要多 5k… 势头依然不减! 第 4 名,Deno 是今年前十名唯一的新项目。...因此, Angular 生态圈,最流行的项目是官方的命令行工具 Angular CLI,用于搭建新项目和管理现有项目。 在这些新功能,update 命令使更新应用和依赖变得容易。...和 2017 年一样,Gatsby 2018 年依然是最受欢迎的静态站点生成器(用于生成一组 HTML JavaScript 和 CSS 文件,以便能够在任意地方托管,超快响应 —— 的一种工具)。...Gatsby 依然是第一名,而且它绝对是最易上手使用 GraphQL 的工具之一。 从 Graphcool 演变而来的 Prisma 位于第二。

1.8K60

【前端必看】2017 年 JavaScript 全面崛起大运势

构建工具 构建工具分类的排行冠军是 Parcel,这或许是今年最大的惊喜,作为一个 8 月份才 GitHub 上发布的新项目却已达到 14,000 个 star 的关注度。... React 博客中提到 Rollup 可以预编译并且集成到应用,能与 React 之类相似的库做到完美配合。...2016 年由微软主导的 VS Code 与 GitHub 主导的 Atom 本类别齐头并进。 今年他们也依然处于领先地位,不过互相较量,VS Code 己领先它的对手一大截。...GraphQL 未来回顾 GraphQL 的历史时,2017 年很有可能会成为一个转折点。...值得注意的是今年最有人气的静态网站生成器 Gatsby 也在数据处理中使用了 GraphQL

2.6K50

【Web架构】静态站点生成器概述 Gatsby ,Hugo 和Jekyll对比

Gatsby、Hugo和Jekyll是最受欢迎的静态站点生成器的三种,它们受欢迎的原因有很多。让我们看看他们能提供什么。 盖茨比(Gatsby) 由节点。盖茨比是这三款中最新的静态网站生成器。...Gatsby还支持GraphQL,这意味着数据查询变得更加容易。由于有了GraphQL, Gatsby可以生成能够访问和利用来自不同来源的数据的站点。...它支持GraphQL。 大量的插件都是可用的——谈谈庞大的用户社区的好处吧。 解释性教程不难找到,文档也很棒。 缺点 使用Gatsby需要大量的JavaScript、ReactGraphQL知识。...由于加入了GitHub——Tom Preston-Werner是GitHub的联合创始人——Jekyll获得了开源社区的大量关注和贡献。...选择静态站点生成器 尝试从这三种静态站点生成器挑选可能是一项困难的任务。它们本身都是伟大的工具。让我们来看看为什么你可能想要选择一个在其余的原因。 ?

2.9K20
领券