javascript - 无法读取未定义的属性(尝试在初始化之前访问属性)
问题描述
我正在尝试实现一个简单的图像滑块。为此,我需要访问作为反应组件一部分的元素的属性( const size = carouselImg[0].clientWidth;)。但是,我收到“无法读取未定义的属性”错误,这可能是因为整个组件尚未启动/初始化,因此它为空,我们无法获取该属性。我对反应 js 完全陌生,但我猜我需要以某种方式将这些属性存储在某种状态左右。有谁知道这是怎么做到的吗?非常感激。问候。
解决方案
因此,如果我理解正确,则需要在初始化组件之前初始化“大小”变量。
您可以更改此行
const size = carouselImg[0].clientWidth;
至
const defaultSize = 0 // whatever you want
const size = carouselImg ? carouselImg[0].clientWidth : defaultSize;
这样,如果 carouselImg 尚未定义,大小将设置为默认值。或者您可以在触发反应初始化挂钩后设置大小。
推荐阅读
- php - 致命错误 - 调用未定义的方法“Customersss::throwError()”
- python - Tkinter 散点图
- r - 不起作用的神秘货币
- arrays - 加速 Excel 数组公式以查找唯一的不同值
- docker - 如何在不影响主机的情况下启动 docker
- php - 如何在 Laravel 中检索 FormData
- excel - 在变量中使用公式
- reactjs - 在从数据库获取数据之前,在 React js 中调用了 renderview
- django-templates - Django 2.0 - 渲染错误的模板(没有错误)
- python - TensorFlow matmul:Blas xGEMMBatched 启动失败