Javascript JSX array.map未定义的布尔数据
我试图在一个表行中显示和映射我的对象,但是我的布尔数据将返回为未定义的,我甚至不能将它们转换为字符串,解决方案是什么 查看映射中的user.isenable和user.isonline 这就是我试过的Javascript JSX array.map未定义的布尔数据,javascript,reactjs,jsx,Javascript,Reactjs,Jsx,我试图在一个表行中显示和映射我的对象,但是我的布尔数据将返回为未定义的,我甚至不能将它们转换为字符串,解决方案是什么 查看映射中的user.isenable和user.isonline 这就是我试过的 import { component, Fragment } from 'react' class Users extends Component { constructor(props) { super(props); this.state = { users
import { component, Fragment } from 'react'
class Users extends Component {
constructor(props) {
super(props);
this.state = {
users: []
};
}
componentDidMount() {
const url = "http://localhost:4000/api/user";
// AXIOS REQUEST
axios.get(url).then(res => {
this.setState({ users: res.data });
console.log(this.state.users);
});
}
render() {
const users = this.state;
console.log(this.state.users.isenbale);
return (
<table id="users">
<tr>
<th>is Enable</th>
<th>is Online</th>
</tr>
{this.state.users.map(user => {
return (
<tr key={user.nationalcode}>
<td>{user.isEnable.toString()}</td>
<td>{user.isOnline.toString()}</td>
</tr>
);
})}
</table>
);
}
}
有两个问题
isenable
,小写。但是,您正在尝试引用isEnable
isenable
字段为null
。这没有toString方法例如,在数据中,您接收的
isenable
都是小写的,但在代码中,您使用它作为isenable
,javascript变量名区分大小写,因此引擎将它们视为两个不同的东西
将代码更改为
user.isenable
,它应该可以工作您可以添加console.log(this.state.users)的输出吗
我认为const users=this.state
应该是const{users}=this.state
你能发布res.data
的控制台日志吗?@Jacob我添加到了question@izambl补充。。。