[英]Why am I getting an empty array?
我正在为我的投资组合开发一个产品反馈应用程序(带有反应)并且遇到了一个意想不到的问题。 问题发生在我的 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;
});
这是当前建议的返回值应该是什么(新建议在这里仍然没有创建):
在这里,当我尝试过滤出新建议(最后一个元素)时,我得到一个空数组:
我对这些东西还是有点陌生,不明白为什么会这样。 我没有在创建新建议并将其添加到当前 state 的地方添加代码,但我认为问题不存在,因为它已明确创建并添加到当前的建议请求列表中。
任何有关此的信息将不胜感激,谢谢。
问题是我使用parseInt
而不是parseFloat
来解析由Math.random()
生成的 id
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.