如何在next.js react中处理空数组

dced5bon  于 2023-03-29  发布在  React
关注(0)|答案(1)|浏览(120)

react给我抛出了一个错误,上面写着:type不受支持。我认为它抛出这个错误是因为如果我的数组项之一是空的,它不能读取空数组..当我的blog.author是空的,**getJsonItem()**语法只是不能拾取任何空值,这将抛出一个错误..我怎么写一个条件,即使它是空的,它仍然会运行脚本?

const author_url_slug = urlSlug(blog.author);
// Match consultant name
const consultants = (await Collection('consultants')).filter(function (i) {
   return (
       urlSlug(i.url_slug) === author_url_slug
)
});
const all_consultants = consultants.orderBy('order').getJsonItem();

编辑:现在all_consultants未定义

hrysbysz

hrysbysz1#

在处理之前,你会检查author_url_slug是否不为空,下面的例子应该可以做到这一点。

const author_url_slug = urlSlug(blog.author);
let all_consultants = [];

if (author_url_slug) {
  const consultants = (await Collection('consultants')).filter(function (i) {
    return urlSlug(i.url_slug) === author_url_slug;
  });

  all_consultants = consultants.orderBy('order').getJsonItem();
} else {
  console.log("Author URL slug is empty.");
}

相关问题