“类型错误:无法读取未定义的属性‘名称’”错误

拉兹瓦努斯

该代码给了我这个“TypeError:无法读取未定义的属性'名称'”错误,尽管当我 console.log 它给了我对象

import React from "react";

class Random extends React.Component {
  constructor(props) {
    super(props);
    this.state = {
      breweries: []
    };
  }

  componentDidMount() {
    fetch("https://api.openbrewerydb.org/breweries")
      .then(response => response.json())
      .then((data) => {
        this.setState({
          breweries: data,
        })
      })
  }

  render() {
    const brewery = this.state.breweries[Math.floor(Math.random()*this.state.breweries.length)];
    return(
      <div>{brewery.name}</div>
    )
  }
}

export default Random;
善良的用户

直到异步请求完成,

this.state.breweries[Math.floor(Math.random()*this.state.breweries.length)] 

实际上会返回undefined,因为

Math.floor(Math.random()*this.state.breweries.length)

将返回0,由于this.state.breweries是一个空数组,它将返回undefined

( [][0]-> undefined)。


您必须确保brewery尚未定义的可能性,例如:

<div>{brewery && brewery.name}</div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

类型错误:无法读取未定义的属性“名称”类型错误:无法读取未定义的属性“名称”

类型错误:无法读取未定义的属性(读取“类型”)

类型错误:无法读取未定义错误的属性“_id”

角度:错误类型错误:无法读取未定义的属性___

错误类型错误:无法读取未定义的属性“列表”

错误类型错误:无法读取未定义的属性“标题”

错误类型错误:无法读取未定义的属性

渲染错误:“类型错误:无法读取未定义的属性‘’”

错误类型错误:无法读取未定义的属性“...”

错误类型错误:无法读取未定义的属性“填充”

错误类型错误:无法读取未定义的属性“stateName”

错误类型错误:无法读取未定义的属性“_id”

错误类型错误:无法读取未定义的属性“getUsers”

错误类型错误:无法读取未定义的属性“doc”

**错误** 类型错误:无法读取未定义的属性“替换”

Angular 6 中的“错误类型错误:无法读取未定义的属性‘名称’”

类型错误:无法读取未定义的属性(读取“图像”)

类型错误:无法读取未定义的属性(读取“暗”)

类型错误:无法读取未定义的属性(读取“缓存”)

类型错误:无法读取未定义的属性(读取“reduce”)

类型错误:无法读取未定义读取“2”的属性

类型错误:无法读取未定义的属性“类型”

类型错误:无法读取未定义的属性“indexOf”,无法读取未定义的属性“toLowerCase”

无法在React中读取未定义错误的属性“名称”

TypeError:无法读取未定义反应错误的属性“名称”

“错误”:“消息”:“无法读取未定义的属性'名称'

this.component.name类型错误:无法读取未定义的属性“名称”

类型错误:无法读取未定义的属性“名称”。角 7

未捕获的类型错误:无法读取未定义 [antdesign - switch] 的属性“名称”