我的代码出了什么问题?
import React, { Component } from "react";
// import {connect} from 'react-redux';
// import List_items from './list_items';
// @connect(item => ({data: state.example.data}))
class Home extends React.Component {
constructor(){
super();
this.state = {
dataOperations: [],
};
}
componentDidMount(){
fetch('http://127.0.0.1:8000/Selectallbarang/?format=json')
.then(results => {
return results.json();
}).then(data => {
let dataOperations = data.results.map((idk) => {
return(
<h1 key={idk.results}>
{idk.harga_satuan}
</h1>
)
})
this.setState({dataOperations: dataOperations});
console.log("state", this.state.id);
})
}
我收到如下错误代码
未处理的拒绝(TypeError):无法读取未定义的属性“map” (匿名函数)
C:/Users/kurniawan/django/shemura/frontend/src/home/Home.js:23
20 | .then(results => {
21 | return results.json();
22 | }).then(data => {
> 23 | let dataOperations = data.results.map((idk) => {
24 | return(
25 | <h1 key={idk.results}>
26 |
查看已编译 此屏幕仅在开发中可见。如果应用程序在生产中崩溃,则不会显示。 打开浏览器的开发者控制台以进一步检查此错误。
答案 0 :(得分:4)
将data.results.map
替换为(data.results || []).map
因为此错误意味着data.results
未定义,所以data.results.map
是属性(方法)无法从未定义的内容中读取。
有很多方法可以解决这个问题,但是,我认为我给了你最强烈的优雅方式。