当我使用for循环从api获取数据时,我在反应原生中得到错误

时间:2017-09-08 09:55:06

标签: react-native

import React from "react";
import { connect } from "react-redux";

const TrajectContainer = ({ trajects, addTraject }) => (
	<div className="col-md-6">
		<h2>Trajects</h2>
		<button className="btn btn-primary" onClick={addTraject}>Add new Traject</button>
		{trajects.map(traject => <Traject traject={traject} key={traject.name} />)}
	</div>
);

const mapStateToProps = ({ trajects }) => ({ trajects });

export default connect( mapStateToProps, { addTraject })(TrajectContainer);

错误

  

未处理的Promise拒绝(id:0):SyntaxError:意外的令牌C.   在位置0的JSON中

2 个答案:

答案 0 :(得分:0)

您应该在.then((response) => response.json())

之前检查您的回复状态

例如,你可以这样做:

.then((response) => {
  if (response.status == 200) {
    //Deal with your response and do whatever you want
  }
  else {
   //do somthing with your error status
  }
})

答案 1 :(得分:0)

您的问题与本地反应无关。在尝试解析无效的json响应时(或者根本不是json),您会收到错误。使用调试工具捕获错误的服务器响应,并使用promise链中的catch块来处理这种情况。