React 过滤器仍然输出过滤后的值
React filter still outputting filtered values
我正在尝试过滤 name 值为空或 null 的对象数组。但是,包含 - "" - 的名称值仍呈现给浏览器。
你能看看我的代码并告诉我我做错了什么吗?谢谢。
import NameList from './NameList.js';
const ItemTable = (props) => {
const filteredNames = props.items.filter(function (item) {
return item.name !== null || item.name !== "";
});
return (
<ul>
{filteredNames.map((item) => (
<NameList
key={item.id}
listId={item.listId}
name={item.name}
/>
))}
</ul>
);
}
export default ItemTable;
!!value
将检查值中的变量是否具有有效内容。
您也不需要创建另一个不需要的数组。可以直接渲染。
import NameList from "./NameList.js";
const ItemTable = (props) => (
<ul>
{
props.items.map((item) => (
!!item.name ?
<NameList key={item.id} listId={item.listId} name={item.name} />
:
null
))
}
</ul>
);
export default ItemTable;
我正在尝试过滤 name 值为空或 null 的对象数组。但是,包含 - "" - 的名称值仍呈现给浏览器。 你能看看我的代码并告诉我我做错了什么吗?谢谢。
import NameList from './NameList.js';
const ItemTable = (props) => {
const filteredNames = props.items.filter(function (item) {
return item.name !== null || item.name !== "";
});
return (
<ul>
{filteredNames.map((item) => (
<NameList
key={item.id}
listId={item.listId}
name={item.name}
/>
))}
</ul>
);
}
export default ItemTable;
!!value
将检查值中的变量是否具有有效内容。
您也不需要创建另一个不需要的数组。可以直接渲染。
import NameList from "./NameList.js";
const ItemTable = (props) => (
<ul>
{
props.items.map((item) => (
!!item.name ?
<NameList key={item.id} listId={item.listId} name={item.name} />
:
null
))
}
</ul>
);
export default ItemTable;