首页 > 解决方案 > 无法读取未定义的属性(尝试在初始化之前访问属性)

问题描述

我正在尝试实现一个简单的图像滑块。为此,我需要访问作为反应组件一部分的元素的属性( const size = carouselImg[0].clientWidth;)。但是,我收到“无法读取未定义的属性”错误,这可能是因为整个组件尚未启动/初始化,因此它为空,我们无法获取该属性。我对反应 js 完全陌生,但我猜我需要以某种方式将这些属性存储在某种状态左右。有谁知道这是怎么做到的吗?非常感激。问候。

在此处输入图像描述

标签: javascriptreactjs

解决方案


因此,如果我理解正确,则需要在初始化组件之前初始化“大小”变量。

您可以更改此行

const size = carouselImg[0].clientWidth;

const defaultSize = 0 // whatever you want
const size = carouselImg ? carouselImg[0].clientWidth : defaultSize;

这样,如果 carouselImg 尚未定义,大小将设置为默认值。或者您可以在触发反应初始化挂钩后设置大小。


推荐阅读