盖茨比服务器端渲染ajax / xhr / axios

时间:2018-01-24 09:41:58

标签: ajax reactjs serverside-rendering gatsby

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

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

    1. 目前正在做axios在我的组件中获取调用(构造函数或componentDidMount),我能够看到下载的数据并完全呈现给客户端
    2. 预期结果

      1. 我希望能够在反应组件中调用外部数据(可能用async / await标记),以便在完成ajax调用后呈现它。
      2. 我发现了一些关于graphQL(我不熟悉它)的东西,它能够查询数据以进行服务器端渲染。

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

1 个答案:

答案 0 :(得分:0)

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

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

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

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