json - 无法将响应数据分配给状态数据并且响应在 React 中不为空
问题描述
我目前正在制作我的第一个 React API 应用程序,即使我将 res.data 分配给它不是空的,我也无法弄清楚状态数据是空的。我也不知道如何在 div 中呈现所有这些。
这是 res.data 的 console.log 返回的内容:
(2) [{…}, {…}]
0: {user: {…}, available_amount: 4324324}
1: {user: {…}, available_amount: 43243243}
length: 2
__proto__: Array(0)
这是我的代码:
class App extends Component{
constructor(props) {
super(props);
let data
this.state = {
data: [],
loaded: false,
placeholder: "Loading"
};
}
async componentDidMount(){
let data;
axios
.get('http://127.0.0.1:8000/api/',{
headers:{
'Authorization': 'Token 8651a2b6c28ecd5cd25c0e67dfd7f3642a3d0029'
}
})
.then(res => {
this.setState(() => {
return {
data: res,
loaded: true
};
});
})
.then(console.log(this.state.data))
}
解决方案
尝试以下...更改您setState
的setState({...})
并记住loading
import React, { Component } from "react";
const arrayOne = [
{
id: 1,
nome: "Ruan"
},
{
id: 2,
nome: "Paul Symon"
},
{
id: 3,
nome: "Renan Lucas"
}
];
export default class App extends Component {
constructor(props) {
super(props);
this.state = {
data: [],
loading: true
};
}
async componentDidMount() {
setTimeout(() => {
this.setState({ data: arrayOne, loading: false });
}, 1000)
}
render() {
return (
<div>
{this.state.loading ? (
<h1>Carregando...</h1>
) : (
<div>
{this.state.data.map((i) => {
return <h1>{i.nome}</h1>;
})}
</div>
)}
</div>
);
}
}
推荐阅读
- python-3.x - CSV 文件到数据框 - 读取特殊字符
- arrays - 计算严格由 k 个元素组成的子集
- java - 为什么添加“编译文件树(目录:'libs',包括:['*.jar'])”会导致“错误:找不到符号”
- nginx-ingress - 带有 tls 入口的 Azure AKS
- python - Keras 不会在自定义损失中使用导数进行训练
- docker - 如何在 Docker for windows 上增加交换大小
- java - 堆栈溢出错误:使用 Eclipse JDT 进行解析
- html - 使用 HOSTS 文件将 YouTube 重定向到 127.0.0.1 [本地托管网页]?
- python - x,y,z 张量的 2 步 3D 旋转
- web-scraping - 跨机器的 Scrapy Post 请求编码不同