javascript - 错误:未处理的拒绝(TypeError):无法读取未定义的属性“地图”不确定我缺少什么
问题描述
我是 React 和 JavaScript 的新手,我正在尝试进行 API 调用以返回状态列表。我的 API 调用工作正常,当我通过控制台注销数组时,数据就在那里。这个问题是映射。当我调用 map 时,我收到错误:
未处理的拒绝(TypeError):无法读取未定义的属性“地图”
代码:
export class StatesDropDown extends Component {
static displayName = StatesDropDown.name;
constructor(props) {
super(props);
this.state = {
// isLoaded: false,
StateList: [],
};
}
componentDidMount() {
let initialStateList = [];
fetch('api/States/Index')
.then(response => {
return response.json();
}).then(data => {
console.log("Data",data);
initialStateList = data.results.map((state1) => {
return state1
});
console.log(initialStateList);
this.setState({
StateList: initialStateList
});
});
}
经过研究,它听起来像是在被调用时它是未定义的,因此是错误,但我很困惑为什么它是未定义的以及为什么它会抛出这个错误。任何帮助,将不胜感激。
解决方案
你打电话时
data.results.map()
我们可以理解这个数据有如下结构
data: {
result: []
}
正如您的错误所说,未定义的函数映射不存在(在您的情况下,这意味着结果的值未定义)。
您应该确认数据是始终具有关键“结果”的对象。否则,您应该处理这些情况。
推荐阅读
- google-maps - 保存不包括谷歌瓷砖的gmap图(地图)
- javascript - 如何让函数在返回前等待 4 秒?
- kubernetes - docker-registry 部署到 K8S 时遇到问题“CrashLoopBackOff”
- r - 添加条件公式列
- c++ - 如何在 C++ 中将 image.jpg 转换为 image.ppm
- python - ctypes,输出格式函数c ++的问题
- python - 如何使用 scipy.optimize.curve_fit 设置参数的变量依赖边界
- php - Laravel Carbon next() 的问题
- ios - 是否存在将我的科尔多瓦应用程序发布到 IOS 的服务?
- mongodb - 如何在mongodb中展平数组?