使用浏览器访问页面时,gatsby可以渲染一些外部数据服务器端以预先填充内容吗?
-
假设我有一个这样的公共api endpoints :http://jsonplaceholder.typicode.com/posts
-
我希望来自这样的 endpoints 的数据也被渲染到服务器端 .
当前行为:
- 目前在我的组件(构造函数或componentDidMount)中进行axios get调用时,我能够看到下载并呈现完全客户端的数据
预期结果
- 我希望能够在反应组件中调用外部数据(可能用async / await标记),以便在完成ajax调用后呈现它 .
我发现了一些关于graphQL(我不熟悉它)的东西,它能够查询数据以进行服务器端渲染 .
但是如何使用来自外部 endpoints 的简单文本/ json响应来实现我的需求?
1 回答
如果存在从您选择的源中提取数据的插件,则可以将其拉入并使用GraphQL进行查询 .
https://www.gatsbyjs.org/docs/plugins/
如果它没有't, you'想要编写一个插件来提取数据或在
gatsby-node.js
文件中使用sourceNodes
API .https://www.gatsbyjs.org/docs/node-apis/#sourceNodes