尝试在视图中显示数据React Js
,我发现按照教程的步骤仍然存在的错误:
this.state.users.map 不是函数
代码如下
import React, {Component} from 'react';
import {render} from 'react-dom';
import request from 'superagent';
class App extends Component{
constructor(){
super();
this.state = {
users: ""
};
}
componentDidMount(){
request.get('http://localhost:8080/api/usuarios')
.end((err, res) => {
const usuariosGet = JSON.parse(res.text).usuarios;
this.setState({
users: usuariosGet
});
});
}
render(){
var mostrarUsuarios = this.state.users.map((usuario, i) => {
return (<li key={i}>{usuario}</li>);
});
return(
<div>
<h1>Hola Mundo React JS</h1>
<ul>
{mostrarUsuarios}
</ul>
</div>
)
}
}
export default App;
发生的情况是,当组件被挂载时,
users
它不是一个数组而是一个字符串。第一次调用render()
时,它会尝试执行 amap
但是,由于字符串不包含这样的方法,它会失败。该解决方案应该足以更改您在构造函数中的声明:编辑
关于您在评论中提到的错误,这是因为您收到的内容是这样的:
它是一个具有属性的对象数组
Nombre
。错误是你不能像那样渲染对象,你必须选择它们的一些属性:同样的情况发生在我身上:
询问:
必须调用
users:[]
或者它可以被称为别的东西,例如。
empresas:[]