Reactjs 为什么我的DOM元素会发生这种奇怪的事情? 所以我基本上开始学习RexDex,我正在创建一些简单的商店应用程序。我想用几个要点来介绍我的问题

Reactjs 为什么我的DOM元素会发生这种奇怪的事情? 所以我基本上开始学习RexDex,我正在创建一些简单的商店应用程序。我想用几个要点来介绍我的问题,reactjs,redux,Reactjs,Redux,我有一个基本的商店,有一些州和导航栏,我有购物车按钮。 点击购物车按钮后,我想打开购物车列表并将购物车图标旋转90度。 我想把所有东西都放在一个函数中,并将其附加到onClick 我的代码如下所示: 主要的问题是,如果我在其他情况下取消该语句,则所有操作都有效。那一个: else { style = 'none'; cartArrow.style.transform = 'rotate(0deg)' } 如果我放回该语句,我会收到一个错误:TypeError:无法读取连接到的null属性“st

我有一个基本的商店,有一些州和导航栏,我有购物车按钮。 点击购物车按钮后,我想打开购物车列表并将购物车图标旋转90度。 我想把所有东西都放在一个函数中,并将其附加到onClick 我的代码如下所示:

主要的问题是,如果我在其他情况下取消该语句,则所有操作都有效。那一个:

else {
style = 'none';
cartArrow.style.transform = 'rotate(0deg)'
}
如果我放回该语句,我会收到一个错误:TypeError:无法读取连接到的null属性“style”

cartArrow.style.transform = 'rotate(0deg)'
有人能帮我解释一下为什么if语句有效,而else语句无效吗?

您的cartArrow元素可能没有在DOM查询getElementById处呈现,这是React中的反模式。改用


请在堆栈溢出上包含相关代码,而不仅仅是在外部站点上。我在这里看到的代码中没有if语句。
<i
  ref={(ref) => this.cartArrow = ref}
  id='cartArrow'
  className="fas fa-angle-right"
></i>
this.cartArrow.style.transform = 'rotate(0deg)'