react js没有返回项目列表

时间:2017-11-07 08:33:51

标签: reactjs

有人可以帮我解决这个问题吗

  getFriendList () {

        let friends = null;

        FB.api('/me/taggable_friends',{
            fields: 'id,name,picture',
            limit: 10,
            access_token: this.state.fbResponse.authResponse.accessToken
        }, (response) => {
            friends = response.data.map(friend => {
                return(
                    <Friend key={friend.id} />
                );
            });
        }); 

        return friends;
  };

它没有返回好友列表。始终返回null。请帮忙。

我获得了10个数据。当我做console.log时,正在打印。

提前致谢...

1 个答案:

答案 0 :(得分:4)

FB.api是异步的,这就是为什么你得到null的原因。

你不能在你的州保存friends吗?

getFriendList () {
  FB.api('/me/taggable_friends',{
    fields: 'id,name,picture',
    limit: 10,
    access_token: this.state.fbResponse.authResponse.accessToken
  }, (response) => this.setState({ friends }))
}

我猜你在componentDidMount上调用这个方法:

componentDidMount() {
  this.getFriendsList()
} 

然后在完成时呈现好友列表:

render() {
  return(
    <div>
      {this.state.friends && this.state.friends.map(friend =>
        <Friend key={friend.id} />
      )}
    </div>
  )
}