Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在map React JS中使用null

如何在map React JS中使用null
EN

Stack Overflow用户
提问于 2020-07-26 10:06:29
回答 2查看 62关注 0票数 0

我正在用React JS做一个应用程序。它由用户列表组成,其中图书可用、可取或可请求,但当根据用户从商店中过滤图书时,无效用户的行仍会到达。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
return (
    <div>
      <h1>List of Books</h1>
      {filterValues.map((books) => (
        <Segment.Group key={books.id}>
          {(books.name === user!.username || books.name === null) &&
          (books.requestedBy === user!.username ||
            books.requestedBy === null) ? (
            <Segment>
              <Item.Group>
                <Item>
                  {console.log(books)}
                  <Item.Image size="tiny" circular src="/assets/books.jpg" />
                  <Item.Content>
                    <Item.Header as="a">{books.bookName}</Item.Header>
                    <Item.Description>
                      {books.isRequested ? (
                        <Button
                          name={books.bookName}
                          loading={target === books.bookName && submitting}
                          onClick={(e) => onRequestClick(e, "cancel", books.id)}
                          color="red"
                          type="button"
                          content="Cancel Request"
                        />
                      ) : books.isTaken ? (
                        <div>
                          <Label basic color="red">
                            This book is taken By you
                          </Label>
                          <Button
                            name={`return${books.bookName}`}
                            loading={
                              target === "return" + books.bookName && submitting
                            }
                            color="brown"
                            onClick={(e) => returnBook(e, books.id)}
                            type="button"
                            content="Return this Book"
                          />
                        </div>
                      ) : (
                        <Button
                          name={books.bookName}
                          loading={target === books.bookName && submitting}
                          onClick={(e) =>
                            onRequestClick(e, "request", books.id)
                          }
                          color="green"
                          type="button"
                          content="Request For Book"
                        />
                      )}
                    </Item.Description>
                  </Item.Content>
                </Item>
              </Item.Group>
            </Segment>
          ) : null}
        </Segment.Group>
      ))}

      <Segment clearing></Segment>
    </div>
  );

例如,对于我在地图中过滤了5本书的图书列表,UI如下所示:

如何删除这些行?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-07-26 10:44:00

您的过滤逻辑被放在.map原型方法本身中,所以当您返回null时,它仍然被放在一个空的<Segment.Group>元素中。因此,我猜这个元素提供了渲染这些线条的样式。

如果您希望真正过滤结果并省略不匹配结果的任何返回,最好先在数组上调用.filter()并省略由map返回的空值:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{
    filterValues
        .filter(books =>
            (books.name === user!.username || books.name === null)
            && (books.requestedBy === user!.username || books.requestedBy === null)
        ).map(books =>
                <Segment.Group  key={books.id}>
                    // Segment items here without the conditional rendering of elements
                </Segment.Group>
        )
}
票数 3
EN

Stack Overflow用户

发布于 2020-07-26 10:16:58

我认为这是因为您在<Segment.Group下进行检查

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{filterValues.map(books => (
                <Segment.Group  key={books.id}>
                    {((books.name === user!.username || books.name === null) && (books.requestedBy === user!.username || books.requestedBy === null))
                       ? /* CREATE THE ITEM */ 
                       : null
                    }
                </Segment.Group>
))}

因此,当它的计算结果为null时,它仍然会创建一个在UI中显示为空项目的<Segment.Group>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63098706

复制
相关文章
getproperty方法_js中null使用
想要实现 Map 转为 Bean 的功能,使用了org.apache.commons.beanutils.BeanUtils.populate(object, map); 期间遇到了一些问题,遂整理了一下。
全栈程序员站长
2022/09/27
4K0
getproperty方法_js中null使用
JS中Null与Undefined的区别
Undefined类型只有一个值,即undefined。当声明的变量还未被初始化时,变量的默认值为undefined。 Null类型也只有一个值,即null。null用来表示尚未存在的对象,常用来表示函数企图返回一个不存在的对象。 Screenshot (12).png js 代码 var oValue; alert(oValue == undefined); //output "true" 这段代码显示为true,代表oVlaue的值即为undefined,因为我们没有初始化它。 js 代码 a
前朝楚水
2018/04/02
3.6K0
JS中Null与Undefined的区别
React Js 中创建和使用 Redux Store
本文,我们将学习在 React 应用中怎么创建 Redux Store。同时,我们将分享怎么使用 Redux store 去管理复杂的 states。
Jimmy_is_jimmy
2023/08/11
2990
React Js 中创建和使用 Redux Store
如何在Hive中使用Map类型
在前面的文章Fayson介绍了《Hive创建外部表CSV数据中列含有逗号问题处理》。本篇文章Fayson主要介绍在Hive中使用Map类型存储数据。
Fayson
2018/11/16
21.5K0
java 对象转map,去掉null
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/139824.html原文链接:https://javaforall.cn
全栈程序员站长
2022/08/24
2.2K0
JS 中为啥 ['1', '7', '11'].map(parseInt) 返回 [1, NaN, 3]
Javascript 一直是神奇的语言。 不相信我? 尝试使用map和parseInt将字符串数组转换为整数。打开 Chrome 的控制台(F12),粘贴以下内容,然后按回车,查看输出结果:
前端小智@大迁世界
2019/07/02
4.8K0
js中map函数的应用
这个callback一共可以接收三个参数,其中第一个参数代表当前被处理的元素,而第二个参数代表该元素的索引。
IT工作者
2022/01/24
5.6K0
如何在 React 中引入 less?
本文主要写如何在 React 中引入 less 。因为 less 和 css 非常像,因此很容易学习。而且 less 仅对 css 语言增加了少许方便的扩展,这就是 less 如此易学的原因之一。
子舒
2022/06/09
3.9K0
React篇(020)-如何在 React 中创建组件?
答案:有两种可行的方法来创建一个组件: 1. Function Components: 这是创建组件最简单的方式。这些是纯 JavaScript 函数,接受 props 对象作为第一个参数并返回 React 元素:
齐丶先丶森
2022/05/12
2.9K0
MYSQL中建议使用NOT NULL原因[通俗易懂]
Mysql难以优化引用可空列查询,它会使索引、索引统计和值更加复杂。可空列需要更多的存储空间,还需要mysql内部进行特殊处理。可空列被索引后,每条记录都需要一个额外的字节,还能导致MYisam 中固定大小的索引变成可变大小的索引。
全栈程序员站长
2022/09/08
1.8K0
MYSQL中建议使用NOT NULL原因[通俗易懂]
在 React 16 中从 setState 返回 null 的妙用[每日前端夜话0x7D]
在 React 16 中为了防止不必要的 DOM 更新,允许你决定是否让 .setState 更来新状态。在调用 .setState 时返回 null 将不再触发更新。
疯狂的技术宅
2019/06/11
14.6K0
map key为null_mybatis json
本博主之前一直是网络资源的索取者,本着开源精神愿意把自己在开发过程中遇到过的问题以及解决方案分享给大家,这是我的第一篇博客,希望以后能坚持写博客,让大家少走弯路、少踩坑。 废话少说,直入主题! springcloud微服务集成mybatis动态多数据源在网上有很多文章可以搜到,这里就不重复造轮子了。 如题,网上的很多解决方案比如: 尝试在application.yml 文件中配置 mybatis:callSettersOnNulls:true,对于springboot启动加载yml的单一数据源是有效的,但是在动态多数据源的情况下,是需要自己手动增加数据源配置类:DataSourceConfig.java,并且需要在启动类加上了@SpringBootApplication(exclude ={DataSourceAutoConfiguration.class})注解。 因此,上述解决方案就没用了,下面给出我的解决方案,亲测有效: 1.xml文件
全栈程序员站长
2022/11/10
1.2K0
JS中判断null、undefined与NaN的方法
写了个 str ="s"++;  然后出现Nan,找了一会。  收集资料如下判断: 1.判断undefined: 1 2 3 4 var tmp = undefined; if (typeof(tmp) == "undefined"){ alert("undefined"); } 说明:typeof 返回的是字符串,有六种可能:"number"、"string"、"boolean"、"object"、"function"、"undefined"  2.判
庞小明
2018/03/08
5.7K0
JS中Null和Undefined的区别及用法
用法:   1. 作为函数的参数,表示该函数的参数不是对象   2. 作为对象原型链的终点
是阿超
2021/10/15
1.8K0
如何在react中使用svg icons
该文介绍了如何在React组件中使用SVG图标。首先介绍了传统的使用方式,然后介绍了使用React组件的方式,最后通过一个名为`Mic`的组件示例展示了如何将SVG图标转换为React组件。通过使用Fis3插件,可以自动将SVG转换为React组件,从而简化了React项目中使用SVG的过程。
IMWeb前端团队
2017/12/29
2.8K0
如何在react中使用svg icons
如何在js中创建对象
七夕临近了,没有对象的来创建一个吧 使用对象字面量: const o = { name: "zehan", greeting() { return `Hi, 我是${this.name}`; } }; o.greeting(); // "Hi, zehan" 使用构造函数: function Person(name) { this.name = name; } Person.prototype.greeting = function () { return `Hi, 我是
ZEHAN
2020/09/23
7.6K0
如何在react中使用svg icons
首先,react是支持svg,所以使用svg是没有问题的,但是到目前为止(版本为v15.3.0)还不支持svg的use标签,所以打算使用svg symbol还是趁早放弃,以下为官方的svg支持标签:
IMWeb前端团队
2019/12/04
1.5K0
如何在react中使用svg icons
JS map排序
1.key排序 var map=new Map(); map.set("b","8"); map.set("c","10"); map.set("a","1"); map.set("d","7"); map.set("e","3"); var arrayObj=Array.from(map); arrayObj.sort(function(a,b){return a[0].localeCompare(b[0])}) for (var [key, value] of arrayObj) { console.
smallmayi
2022/05/12
9.3K0
js Map用法
ECMAScript 6 以前,在 JavaScript 中实现“键/值”式存储可以使用 Object 来方便高效地完成,也就是使用对象属性作为键,再使用属性来引用值。但这种实现并非没有问题,为此 TC39 委员会专门为“键/值”存储定义了一个规范。
IT工作者
2022/05/12
8.2K0
点击加载更多

相似问题

React.js TypeError:无法读取null的属性'map‘

254

如何在react js中使用.map()处理数组

16

如何在React中使用map中的map?

12

React JS map函数

43

如何在react js中递增.map()中的变量

337
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文