Javascript 如何解决';无法读取未定义的';
我正在使用一个基于JS的静态站点生成器Gatsby,我正在尝试为每个类别创建一个页面,同时对同一页面进行分页。 这是我在gatsby-node.js中的代码,它得到了错误“无法读取未定义的”属性“kebabCase”Javascript 如何解决';无法读取未定义的';,javascript,pagination,graphql,gatsby,Javascript,Pagination,Graphql,Gatsby,我正在使用一个基于JS的静态站点生成器Gatsby,我正在尝试为每个类别创建一个页面,同时对同一页面进行分页。 这是我在gatsby-node.js中的代码,它得到了错误“无法读取未定义的”属性“kebabCase” let categories = [] _.each(result.data.allMarkdownRemark.edges, edge => { if (_.get(edge, "node.frontmatter.ca
let categories = []
_.each(result.data.allMarkdownRemark.edges, edge => {
if (_.get(edge, "node.frontmatter.categories")) {
categories = categories.concat(edge.node.frontmatter.categories)
}
})
const categoryarticles = result.data.allMarkdownRemark.edges
const categoryarticlesPerPage = 6
const numPages = Math.ceil(categoryarticles.length / categoryarticlesPerPage)
Array.from({ length: numPages }).forEach((_, i) => {
categories.forEach(category => {
createPage({
path: i === 0 ? `/${_.kebabCase(category)}` : `/${_.kebabCase(category)}/${i + 1}`,
component: managementTemplate,
context: {
category,
limit: categoryarticlesPerPage,
skip: i * categoryarticlesPerPage,
},
})
})
})
category实际上是定义的,事实上,当我创建category页面而不尝试分页时,代码categories.forEach(category…ect)工作得很好。
我错过了什么
非常感谢。您的数组#foreach循环正在阴影化\u
,因此它不再指lodash。它指的是当前数组值,未定义
更改.forEach((uu,i)
并使用不同的变量名,这样您就不会对\u
进行阴影处理。例如.forEach((el,i)
您的数组#forEach循环对\u
进行阴影处理,因此它不再引用lodash。它引用当前数组值,该值未定义
更改
.forEach((,i)
并使用不同的变量名,这样您就不会对.forEach((el,i)
进行阴影处理。该错误并没有说类别
未定义。它说
未定义。哦,感谢您指出了这一点。在文件的顶部,我正在定义const=require(“lodash”)尽管如此,它也应该被定义吗?那个错误并没有说类别是未定义的。它说\uuu
是未定义的。噢,谢谢你指出了这一点。虽然在文件的顶部我定义了const=require(“lodash”),但它也应该被定义吗?