Javascript “如何修复”;Array.prototype.filter();ReactJs中的警告
我是新手,我的代码可以工作,但有一个警告我无法修复。问题是,我在React中过滤了数据,如下所示:Javascript “如何修复”;Array.prototype.filter();ReactJs中的警告,javascript,reactjs,Javascript,Reactjs,我是新手,我的代码可以工作,但有一个警告我无法修复。问题是,我在React中过滤了数据,如下所示: {data.asset ? data.asset.filter((value) => { if (something === "") { return ( <Card> <Card.Body> <Card.
{data.asset ? data.asset.filter((value) => {
if (something === "") {
return (
<Card>
<Card.Body>
<Card.Text>
Something: {value}
</Card.Text>
</Card.Body>
</Card>
);
}
else {
return (
<Card>
<Card.Body>
<Card.Text>
Something: {value}
</Card.Text>
</Card.Body>
</Card>
);
});
意味着我需要在if/else语句之外有一个return语句。但是,如果我返回if/else语句之外的另一张卡,那么我的if/else语句将无法正常工作。所以我想如果我返回一个空的return语句,比如:
return;
同样,if/else语句将停止正常工作
老实说,我不知道如何修复此警告,我可以忽略它,但我想学习并提高我的知识,任何帮助都将不胜感激。您的代码没有多大意义。你想用
.filter
和JSX实现什么?看起来你可能想用映射来代替过滤器
对不起,我可能把代码缩短得太多了。我有这个搜索栏,我试图过滤任何用户输入以匹配数据库。所以现在,如果用户没有输入任何内容,那么它将通过if语句'if(something==“”){}',然后它将所有数据显示为卡片。else语句实际上是按如下方式编写的else if(value.toString().toLowerCase().includes(searchTerm.toString().toLowerCase()){
然后它将显示用户输入的任何内容,如“car”,然后它将尝试过滤数据以查找“car”,然后显示car。我认为您需要的是data.asset.filter((value)=>!searchTerm | | value.toString().toLowerCase().includes(searchTerm.toString().toLowerCase()).map((value)=>/**在此处将您的值包装在一张卡中**/)
。筛选器从数组中删除不匹配的元素。map基于另一个数组创建一个数组。这就是Nick所说的。
return;