我在react中工作,有一个resonse(ReviewerService.getReviewers()
),它返回一个值数组:
0: {id: 1, firstName: 'John', lastName: 'Doe', email: 'johndoe@aol.com', responses: '{"q1":"yes","q2":"no","q3":"yes","rating":4}'}
1: {id: 2, firstName: 'bob', lastName: 'jefferson', email: 'bob@aol.com', responses: '{"q1":"bob","q2":"yes","q3":"yes","rating":5}'}.
如果this.state = { reviewers: [] }
.
如何将响应数据传递给审阅者,同时解析响应属性?因此,我可以轻松地访问响应的这些属性。
class ListReviewsComponent extends Component {
constructor(props) {
super(props);
this.state = {
reviewers: [],
};
}
async componentDidMount() {
await ReviewerService.getReviewers().then((res) => {
this.setState({ reviewers: res.data });
});
this.setState({ reviewers.responses: JSON.parse(this.state.reviewers.responses)}); // error
}
2条答案
按热度按时间fcg9iug31#
这行吗
希望这能帮助你解决这个问题
qnyhuwrf2#
我想你的数组是由
服务器服务器
应采用json格式,在setState中设置之前进行处理或解析:
然后执行此操作,将数组置于json处理的对象格式中。
执行此操作时:
您可以将此.state.reviewers、所有列表和嵌套在其中的所有对象放到区域中。
您可以使用下面的方法访问此组件上的.state:
或者只是通过某种方法访问,
您可以尝试以下方法来更好地理解JSON解析函数:
在此W3Schools中查看更多JSON.parse()的示例
希望这对你有帮助。