为什么我得到一个空数组?

Why am I getting an empty array?

我正在为我的投资组合开发一个产品反馈应用程序(带有 React),但遇到了一个意想不到的问题。问题发生在我的 SuggestionDetails 组件中,我在其中使用 useParams 获取当前 ID 并根据该 ID 过滤掉当前产品。使用预先存在的建议数组,一切正常并完美呈现,但是当我尝试呈现我创建并添加到数组的新建议时,问题就开始了。

这就是我得到当前建议的方式:

// I am getting the suggestions array through props

const { id } = useParams();

const [suggestion, setSuggestion] = useState(() => {
  const currentSuggestion =
    suggestions &&
    suggestions.filter((suggestion) =>
      suggestion.id === parseInt(id) ? suggestion : null
    );
  return currentSuggestion;
});

这是当前建议的 return 值(此处仍未创建新建议):

在这里,当我尝试过滤出新建议(最后一个元素)时,我得到一个空数组:

我对这些东西还是有点陌生​​,不明白为什么会这样。我没有在创建新建议并将其添加到当前状态的地方添加代码,但我认为问题不存在,因为它已明确创建并添加到当前的建议请求列表中。

如有任何相关信息,我们将不胜感激,谢谢。

问题是我使用 parseInt 而不是 parseFloat 来解析由 Math.random()

生成的 ID