Loading [MathJax]/jax/output/CommonHTML/config.js
社区首页 >问答首页 >Reactstrap:从navItem获取属性值有时解析为null

Reactstrap:从navItem获取属性值有时解析为null
EN

Stack Overflow用户
提问于 2022-10-16 01:41:49
回答 1查看 16关注 0票数 2

我有这样的组成部分:

代码语言:javascript
代码运行次数:0
复制
class ParentComponent extends Component {
  constructor() {
    super();
    this.state = {
      tab_to_display: null,
    };
    this.onTabSelected = this.onTabSelected.bind(this);
  }

  onTabSelected(e) {
    e.preventDefault();
    // tab_name is logged as null sometimes
    // And this happens randomly with different tabs
    const tab_name = e.target.getAttribute("value");
    console.log(
      " ~ file: ParentComponent.js ~ line 52 ~ ParentComponent ~ onTabSelected ~ tab_name",
      tab_name
    );
  }

  render() {
    const { tab_to_display } = this.state;

    const tab_items_info = [
      {
        tab_name: "tab_1",
        icon: "fa fa-users",
        component: <TabConentComponent1 />,
      },
      {
        tab_name: "tab_2",
        icon: "fa fa-users",
        component: <TabConentComponent2 />,
      },
      {
        tab_name: "tab_3",
        icon: "fa fa-users",
        component: <TabConentComponent3 />,
      },
      {
        tab_name: "tab_4",
        icon: "fa fa-users",
        component: <TabConentComponent4 />,
      },
      {
        tab_name: "tab_5",
        icon: "fa fa-users",
        component: <TabConentComponent5 />,
      },
    ];

    return (
      <Container className="container-fluid">
        <div className="nav-tabs-navigation">
          <div className="nav-tabs-wrapper">
            <Nav role="tablist" tabs>
              {/* 
                    Sometimes when I click on a tab
                    Its value attribute is detected as null
                    Inside onTabSelected */}
              {tab_items_info.map((nav_item) => {
                const { tab_name, icon } = nav_item;

                return (
                  <NavItem className="cursor-pointer">
                    <NavLink
                      value={tab_name}
                      onClick={this.onTabSelected}
                      className={tab_to_display == tab_name ? "active" : ""}
                    >
                      <i className={icon} />
                    </NavLink>
                  </NavItem>
                );
              })}
            </Nav>
          </div>
        </div>
        <TabContent activeTab={tab_to_display}>
          {tab_items_info.map((tab_item) => {
            const { tab_name, component } = tab_item;
            return (
              <TabPane tabId={tab_name} id={tab_name}>
                {component}
              </TabPane>
            );
          })}
        </TabContent>
      </Container>
    );
  }
}

当我单击一个选项卡时,它的值有时会在onTabSelected中正确解析。

代码语言:javascript
代码运行次数:0
复制
  <NavLink
                      value={tab_name}
                      onClick={this.onTabSelected}
                      className={tab_to_display == tab_name ? "active" : ""}
                    >
                      <i className={icon} />
                    </NavLink>

有时,它被解析为null:

代码语言:javascript
代码运行次数:0
复制
 ~ file: InstitutionPage.js ~ line 52 ~ InstitutionPage ~ onTabSelected ~ tab_name null

这是随机发生的。所以我不知道是什么引起的。

知道怎么回事吗?

EN

回答 1

Stack Overflow用户

发布于 2022-10-21 23:37:09

在对此进行调查之后,发现问题在于如何在NavLink中使用图标

代码语言:javascript
代码运行次数:0
复制
  <NavLink
                    className="cursor-pointer test-border"
                    value="test"
                    onClick={this.onTabClicked}
                  >
                    <i className="fa fa-book" />
                  </NavLink>

使用文本解决了这个问题:

代码语言:javascript
代码运行次数:0
复制
<NavLink
                className="cursor-pointer test-border"
                value="test"
                onClick={this.onTabClicked}
              >
                test
              </NavLink>

但不知道为什么一个图标会导致这种情况。

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

https://stackoverflow.com/questions/74086035

复制
相关文章
源码追踪 - Gson解析部分属性值为null
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
逝兮诚
2019/11/12
1.6K0
源码追踪 - Gson解析部分属性值为null
fastjson解析null值问题: 解决 null的属性不显示问题
null对应的key被过滤掉;这明显不是我们想要的结果,这时我们就需要用到fastjson的SerializerFeature序列化属性:
一个会写诗的程序员
2021/12/16
2.8K0
[Spring Boot] Spring boot 使用@Value 注解获取的配置属性为null的原因
如果不好的,我可以解释一下,这是由于你写的类并没有被Spring boot实例化为Java bean。需要实例化。
用户2353021
2020/05/11
1.6K0
[Spring Boot] Spring boot 使用@Value 注解获取的配置属性为null的原因
获取对象属性类型、属性名称、属性值的研究:反射和JEXL解析引擎
先简单介绍下反射的概念:java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。 反射是java中一种强大的工具,能够使我们很方便的创建灵活的代码,这些代码可以在运行时装配。在实际的业务中,可能会动态根据属性去获取值。 工具类如下: package com.yaoguang.common.utils.field; import java.beans.Bean
猿人谷
2018/01/17
6.4K0
反射获取属性字段及属性值
上篇文章我们可以通过自己的类加载器加载指定类了,在获取指定类后我们需要拿到类属性名称及类属性的值。 获取属性字段: public static List<Field> getFields(String
春哥大魔王
2018/07/23
4.3K0
反射获取属性字段及属性值
【MATLAB】基本绘图 ( 句柄值 | 对象句柄值获取 | 创建对象时获取句柄值 | 函数获取句柄值 | 获取 / 设置 对象属性 | 获取对象属性 )
对象的句柄值 , 类似于编程时的引用 , 将对象的句柄值赋值给变量后 , 该变量就可以代表指定的绘图对象 ;
韩曙亮
2023/03/29
6.6K0
【MATLAB】基本绘图 ( 句柄值 | 对象句柄值获取 | 创建对象时获取句柄值 | 函数获取句柄值 | 获取 / 设置 对象属性 | 获取对象属性 )
Jquery 获取checkbox属性checked为undefined和改变状态 值不变
API: As of jQuery 1.6, the .attr() method returns undefined for attributes that have not been set. In addition, .attr() should not be used on plain objects, arrays, the window, or the document. To retrieve and change DOM properties, use the .prop() method.
冷冷
2018/02/08
1.9K0
@RequestParam 接收参数的值为null处理
@RequestMapping(value = “/test”) public String test( @RequestParam(value = “profit”,required = false,defaultValue = “0”) int profit){ System.out.println(“profit:”+profit); return “success”; } 第一种处理方式(如上图):defaultValue请求参数的默认值,一般和 required = false 一起使用
kirin
2021/03/25
3.3K0
jQuery获取data-*属性值
http://www.cnblogs.com/lzijian/p/6322868.html
kirin
2020/12/17
2.8K0
jQuery获取data-*属性值
POST @PostMapping接收实体类属性为null
@Data public class MailSender { private String Subject; private String Text; private String SetTo; private String SetFrom; private Map<String, String> Attachments; } 原因: 实体类属性必须遵循驼峰命名 @Data public class MailSender { private String s
鱼找水需要时间
2023/02/16
7480
POST @PostMapping接收实体类属性为null
java 反射机制--根据属性名获取属性值
1.考虑安全访问范围内的属性,没有权限访问到的属性不读取 [java] view plain copy /**      * 根据属性名获取属性值      *       * @param fieldName      * @param object      * @return      */   private String getFieldValueByFieldName(String fieldName, Object object) {   try {              Fiel
庞小明
2018/07/06
5.3K0
Java反射,通过对象获取属性及属性值
在工作中,我们有时候会有很多重复的东西,唯一不一样的,可能就是对象不同,取字段什么的都是一样的。这个时候,就要不断的复制,然后修改对象。太狗屎了。那么有没有不用到处复制的呢?可以使用到Java反射来实现。
凯哥Java
2022/12/16
4.4K0
Java反射,通过对象获取属性及属性值
EnhancerBySpringCGLIB 获取getParameterAnnotations为null的解决办法
开发程序的时候使用了aop去代理对象,然后其他地方会获取到这个代理对象并获取上面的方法注解和参数注解,运行时却发现无法获取注解,最终折腾一番终于解决。
跟着飞哥学编程
2022/11/30
6780
SpringMVC中传值有些值为null使用@RequestParam(“name“)解决
代码 package controller; import entity.User; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; /** * zt * 2020/10/9 * 20:44 */ @
2020/10/23
1.2K0
feign接口返回泛型设置属性为null问题
feign是一种声明式http请求调用方式,工作原理就是根据FeignClient注解生成新的接口(也就是传说中的动态代理),常见使用方式如下所示:
johnhuster的分享
2022/03/28
2.5K0
feign接口返回泛型设置属性为null问题
如何优雅判断属性值为空
假设我们现在需要取出 a.b.c,但是并不清楚它们是否都存在,那么代码会写成这样:
前端达人
2019/12/24
4K0
如何优雅判断属性值为空
为什么 MySQL 不推荐默认值为 null ?
通常能听到的答案是使用了NULL值的列将会使索引失效,但是如果实际测试过一下,你就知道IS NULL会使用索引,所以上述说法有漏洞。
Java技术栈
2020/12/18
4.9K0
为什么 MySQL 不推荐默认值为 null ?
通常能听到的答案是使用了NULL值的列将会使索引失效,但是如果实际测试过一下,你就知道IS NULL会使用索引,所以上述说法有漏洞。
芋道源码
2021/01/25
3.9K0
ARouter 传自定义对象获取值为null的解析 及解决方法
我在使用 withObject 传自定义对象的时候,发现一个BUG,在传值的时候,会走SerializationService的object2Json方法,但是在获取值的时候,竟然不调用parseObject这个方法来转回对象。
Xiaolei123
2019/02/21
3.4K0
ARouter 传自定义对象获取值为null的解析 及解决方法
MFC中使用COleVariant获取CMFCPropertyGridProperty属性窗口某个属性值
  获取MFC属性窗口CMFCPropertyGridProperty中某个item的值时,如果不小心写错了类型,就会导致获取的结果不正确,原因就是COleVariant其实继承自一个特殊的结构体tagVARIANT。
全栈程序员站长
2022/09/09
1.8K0

相似问题

以编程方式切换Reactstrap NavItem

10

如何使用Gatsby和Reactstrap为锚标签设置NavItem活动?

10

react,reactstrap中的NavItem返回类型

15

null + null有时为0,有时为"nullnull“。

15

获取view袋动态属性值为null

23
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

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

洞察 腾讯核心技术

剖析业界实践案例

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