gpt4 book ai didi

javascript - 在 Gatsby + JS-Search 中延迟加载博客文章?

转载 作者:行者123 更新时间:2023-12-05 07:01:07 25 4
gpt4 key购买 nike

我正在使用 js-search 搜索我的 gatsby 网站中的一些博文。我一直在关注this tutorial here .

const path = require("path")
const axios = require("axios")
exports.createPages = ({ actions }) => {
const { createPage } = actions
return new Promise((resolve, reject) => {
axios
.get("https://bvaughn.github.io/js-search/books.json")
.then(result => {
const { data } = result
/**
* creates a dynamic page with the data received
* injects the data into the context object alongside with some options
* to configure js-search
*/
createPage({
path: "/search",
component: path.resolve(`./src/templates/ClientSearchTemplate.js`),
context: {
bookData: {
allBooks: data.books,
options: {
indexStrategy: "Prefix match",
searchSanitizer: "Lower Case",
TitleIndex: true,
AuthorIndex: true,
SearchByTerm: true,
},
},
},
})
resolve()
})
.catch(err => {
console.log("====================================")
console.log(`error creating Page:${err}`)
console.log("====================================")
reject(new Error(`error on page creation:\n${err}`))
})
})
}

现在,如果我从该 axios 请求中返回一个非常大的数据集,页面上将显示很多博客文章。有没有办法让我在这里为这些博客文章设置延迟加载,同时仍然能够通过 gatsby 搜索所有这些文章?或者至少只是延迟加载我取回的图像(我将取回 JSON 中图像的链接)?

最佳答案

我认为解决问题的最佳方法是以编程方式进行。您通过 ClientSearchTemplate 组件中的 Prop 拥有所有书籍。只需在内部编写带有状态的逻辑,记住页面和页面上的项目数,在从一页移动到另一页时切片一些书。

关于javascript - 在 Gatsby + JS-Search 中延迟加载博客文章?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63936941/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com