Javascript 我试图映射数据库中的数据,并得到这个错误。TypeError:无法读取属性';地图';未定义的

Javascript 我试图映射数据库中的数据,并得到这个错误。TypeError:无法读取属性';地图';未定义的,javascript,reactjs,Javascript,Reactjs,我试图从数据库映射数据,并得到这个错误。 TypeError:无法读取未定义的属性“map” import React from "react"; export default class Allusers extends React.Component { state = { people: [], }; async componentDidMount() { const ur

我试图从数据库映射数据,并得到这个错误。 TypeError:无法读取未定义的属性“map”

 import React from "react";
    
    export default class Allusers extends React.Component {
      state = {
        people: [],
      };
    
      async componentDidMount() {
        const url = "http://localhost:5000/dashboard/getuser";
        const response = await fetch(url);
        const data = await response.json();
        console.log(data);
        this.setState({ people: data.results });
      }
    
      render() {
        //const peopleJSX = [];
    
        //this.state.people.forEach((person) => {
        //peopleJSX.push(
        //<div key={person.id}>
        //<div>{person.firstname}</div>
        //<div>{person.lasttname}</div>
        //</div>
        //);
        //});
    
        return (
          <div>
            {this.state.people.map((person) => (
              <div key={person.id}>
                <div>{person.firstname}</div>
                <div>{person.lasttname}</div>
              </div>
            ))}
          </div>
        );
      }
    }
从“React”导入React;
导出默认类Allusers扩展React.Component{
状态={
人员:[],
};
异步组件didmount(){
常量url=”http://localhost:5000/dashboard/getuser";
const response=等待获取(url);
const data=wait response.json();
控制台日志(数据);
this.setState({people:data.results});
}
render(){
//constpeoplejsx=[];
//this.state.people.forEach((person)=>{
//peopleJSX.push(
//
//{person.firstname}
//{person.lasttname}
//
//);
//});
返回(
{this.state.people.map((person)=>(
{person.firstname}
{person.lasttname}
))}
);
}
}
仅供参考,我的API正在运行,我已经在Postman上进行了测试


您需要将状态放入类的构造函数中,如下例所示:

class Clock extends React.Component {
  constructor(props) {
    super(props);
    this.state = {date: new Date()};
  }

  render() {
    return (
      <div>
        <h1>Hello, world!</h1>
        <h2>It is {this.state.date.toLocaleTimeString()}.</h2>
      </div>
    );
  }
}
类时钟扩展React.Component{
建造师(道具){
超级(道具);
this.state={date:new date()};
}
render(){
返回(
你好,世界!
它是{this.state.date.toLocaleTimeString()}。
);
}
}
代码来自此示例:。
现在您只有一个名为state的变量,它没有绑定到类。

上面的代码中有更正。 而不是:

this.setState({people:data.results});
使用:

this.setState({people:data.gigs});

因为GIG是存储数据的对象的键。

您在console.log中看到正确的值了吗?请发布
数据的输出<代码>数据。结果
似乎是
未定义的
@Brianthonpson我可以在控制台中查看所需的数据。@GuruparanGiritharan是的,我可以在控制台中看到正确的值。log@ShreyasAnilChaudhari您包含的屏幕截图显示了代码不同部分中的错误(完全不同的组件)而不是你在问题中提到的那个。此外,控制台中显示的数据与代码预期的数据不符。这可能是更好的做法,如果使用
道具初始化状态,则需要这样做,但是不需要将它放入构造函数中,它才能工作。另外,现在您只有一个名为state的变量,并且它没有绑定到类,这条语句是不正确的<代码>状态
是一个类属性,按照它们的定义方式。