React setState JSON.parse(result)

时间:2017-12-15 20:14:42

标签: json ajax reactjs object

我从服务器接收到如下所示的json字符串: [{"foo":"123", "bar:456"},{"foo":"234","bar":"asd"}, ...]我希望在我的反应页面上创建一个列表。我必须解析字符串以将其转换为对象数组,我已经尝试使用JSON.parse(字符串),但似乎我唯一成功的地方是在console.log中,在任何其他地方,我得到像Objects are not valid as a React child (found: object with keys {foo,bar})这样的错误。我在setState之前尝试解析,在setState之后,在...任何建议之后?

问题不在于渲染对象数组,而是将字符串保存为状态内的对象数组,以便稍后再渲染。

这是我使用的代码:

import React, {Component} from 'react';
import {getMemberList} from '../../utils/client-api';
export default class Members extends Component {
  constructor() {
    super();
    this.state = {
      memberList: []
    };
  }
  memberList() {
    getMemberList().then(memberList => {
      this.setState({memberList});
      console.log(JSON.parse(memberList));
    });
  }
  componentDidMount() {
    this.memberList();
  }

  render() {
    const {memberList} = this.state;
    return (<div>
          {memberList}
        </div>);
  }
}

0 个答案:

没有答案