Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JSX array.map未定义的布尔数据_Javascript_Reactjs_Jsx - Fatal编程技术网

Javascript JSX array.map未定义的布尔数据

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

我试图在一个表行中显示和映射我的对象,但是我的布尔数据将返回为未定义的,我甚至不能将它们转换为字符串,解决方案是什么

查看映射中的user.isenable和user.isonline

这就是我试过的

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方法
  • 因为null是falsy,所以可以将其短路


    例如,在数据中,您接收的
    isenable
    都是小写的,但在代码中,您使用它作为
    isenable
    ,javascript变量名区分大小写,因此引擎将它们视为两个不同的东西


    将代码更改为
    user.isenable
    ,它应该可以工作

    您可以添加
    console.log(this.state.users)的输出吗
    我认为
    const users=this.state
    应该是
    const{users}=this.state
    你能发布
    res.data
    的控制台日志吗?@Jacob我添加到了question@izambl补充。。。