未捕获(承诺)TypeError:无法读取未定义的属性“ content”

时间:2018-12-26 09:09:18

标签: javascript reactjs

在为随机报价机应用程序使用简单API时,我遇到一条错误消息,提示未捕获(承诺)类型错误:

+最新的代码更改:-

1:[代码段1]

2:[代码段2]

3:[代码段3]

+最新错误:-

4:[响应对象出错]

5 个答案:

答案 0 :(得分:0)

您必须用res.data [0] .content替换res [0] .content。那应该做。

答案 1 :(得分:0)

res没有数组,因此当您尝试使用索引“ 0”访问其元素时失败。

尝试删除[0]。只有content属性是您需要的数组。

答案 2 :(得分:0)

您需要检查res对象是否存在。请以if

开始您的if(res[0] && ...)条件

答案 3 :(得分:0)

res是一个对象,因此根据您的数据未定义res [0]。 您的实际数组是res.data [0]

答案 4 :(得分:0)

反应状态:

constructor(props) {
        super(props);
        this.state = {
              ...
            name:'somethig',              
              ...
        }            
    }
componentDidMount() {
    this.getUserDetail();
}
getUserDetail() {
    axios.get(`some_request_url`)
        .then(response => {
            this.setState({
                isLoading: false,
                id: response.data.data.id,
                first_name: response.data.data.first_name,
                last_name: response.data.data.last_name,
                avatar: response.data.data.avatar
            });
        })
}

显示名字:

{this.state.first_name}

这是来自请求的响应:

{
    "data": {
        "id": 2,
        "first_name": "Janet",
        "last_name": "Weaver",
        "avatar": "https://s3.amazonaws.com/uifaces/faces/twitter/josephstein/128.jpg"
    }
}

请参阅此link