【发布时间】:2020-09-07 08:40:15
【问题描述】:
仍然遵循以下教程:
https://www.techiediaries.com/php-react-rest-api-crud-tutorial/
我终于在控制台中没有错误。但是我在控制台中得到的只是一个空白数组,它只是读取 [ ]
完整代码如下:
<script type="text/babel">
class App extends React.Component {
componentDidMount() {
const url = 'api/testQuery.php'
axios.get(url).then(response => response.data)
.then((data) => {
this.setState({ users: data })
console.log(this.info.users)
})
}
info = {
users: []
}
render() {
return (
<React.Fragment>
<h1>All Users</h1>
<table border='1' width='100%'>
<tr>
<th>Username</th>
<th>Fullname</th>
<th>Email</th>
</tr>
{this.info.users.map((user) => (
<tr>
<td>{ user.username }</td>
<td>{ user.fullname }</td>
<td>{ user.email }</td>
</tr>
))}
</table>
</React.Fragment>
);
}
}
ReactDOM.render(<App />, document.getElementById('root'));
</script>
从 testQuery.php 脚本返回的 json 如下所示:
[
{
"uid":"7",
"username":"tna.mjordan",
"fullname":"Michael Jordan",
"email":"tna.mjordan@tna.com",
"userlevel":"9",
"division":"Chicago"
},
// and so on
]
关于为什么我得到一个空白用户数组以及如何解决它的任何想法?
【问题讨论】:
-
您的 console.log 语句是 this.info.users。这是在哪里设置的?您的 setState 只是将用户设置为数据,但数据没有“信息”字段。基本上,您正在设置 this.users,然后读取 this.info.users。
标签: javascript json reactjs rest