我创建了一个应用程序,它应该输出与帖子相关的问题的长度。基本上我应该得到每个帖子的所有问题的长度。但现在我只得到 0000
。怎么解决这个问题呢?
我的应用程序的链接:https://codesandbox.io/s/basic-usage-ant-design-demo-4tl5h
为什么我在这里得到太多渲染?
{
title: "Questions",
key: "questions",
render: () =>
// console.log('render'),
posts.map((e, key) => {
console.log(e.id);
return (
<Router>
<Link key={key} to={`demo/${e.id}/url`}>
{questions !== undefined
? questions.filter(q => q.id_post === e.id).length
: 0}
</Link>
</Router>
);
})
}
];
最佳答案
一个是Number
,另一个是String
,如果使用===
就不相等
通过添加 Number() 或 toString() 来修复它
questions.filter(q => q.id_post === Number(e.id)).length
// or
questions.filter(q => q.id_post.toString() === e.id).length
或者只是更改数据源以使其类型相同
<小时/>更新
关于javascript - 在reactjs中使用.filter输出item的长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60828568/