收到TypeError:this.props.users.items在ReactJs上未定义

时间:2018-09-02 12:41:06

标签: javascript reactjs

我正在尝试基于GitHub Api在ReactJs中创建一个应用程序。 我收到此错误this.props.users.items is undefined。这是我的Api链接https://api.github.com/search/users?q=A,我看到了它,因此有一个对象,并且其中包含一系列项目。如何引用此api获取用户列表?

这是UserList组件

import React, { Component } from 'react';
import User from "./ItemUser"

class UsersList extends Component {

  get users() {
    return this.props.users.items.map(user => <User key={user.id} user={user}/>);
  }

  render() {
    return (
      <div>
        { this.users }
      </div>
    );
  }
}


export default UsersList;  

1 个答案:

答案 0 :(得分:3)

由于您要更新状态asynchronously,因此初始状态即{}}传递了一个空对象作为道具。

将初始状态设置为null 然后在渲染器中检查它是否已更新并返回元素

....
this.state = {
  users: null
};
....
render() {
   ....
     {this.state.users ? (
         <UsersList users={this.state.users}/>
     ) : (
         null
         // or a loading placeholder
     )}
   ....
}