【问题标题】:Gatsby server side rendering ajax/xhr/axiosGatsby 服务器端渲染 ajax/xhr/axios
【发布时间】:2018-01-24 09:41:58
【问题描述】:

当使用浏览器访问页面时,gatsby 是否可以渲染一些外部数据服务器端以预先填充内容?

  1. 假设我有一个像这样的公共 api 端点:http://jsonplaceholder.typicode.com/posts
  2. 我希望来自此类端点的数据也呈现在服务器端。

当前行为:

  1. 目前在我的组件(构造函数或 componentDidMount)中执行 axios 获取调用时,我能够看到下载的数据并完全呈现在客户端

预期结果

  1. 我希望能够在 React 组件中调用外部数据(可能使用 async/await 进行标记)以在 ajax 调用完成后对其进行渲染。

我发现有关 graphQL(我不熟悉它)的一些东西,它也能够查询数据以进行服务器端渲染。

但是如何使用来自外部端点的简单文本/json 响应来满足我的需求?

【问题讨论】:

    标签: ajax reactjs server-side-rendering gatsby


    【解决方案1】:

    如果存在从您选择的来源中提取数据的插件,那么您可以将其拉入并使用 GraphQL 进行查询。

    https://www.gatsbyjs.org/docs/plugins/

    如果没有,您需要编写一个插件来提取数据或在您的gatsby-node.js 文件中使用sourceNodes API。

    https://www.gatsbyjs.org/docs/node-apis/#sourceNodes

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-09
      • 1970-01-01
      • 1970-01-01
      • 2013-04-20
      • 1970-01-01
      相关资源
      最近更新 更多