JSX array.map неопределенные логические данные - PullRequest
0 голосов
/ 15 февраля 2020

Я пытался отобразить и отобразить свои объекты в строке таблицы, но мои логические данные вернутся как неопределенные, и я даже не могу преобразовать их в строки, каково решение?

Посмотрите на 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>
    );
  }
}

журналы консоли res.data & this.state.users совпадают.

(5) [{…}, {…}, {…}, {…}, {…}]
0: {nationalcode: 134556778, stockcode: "md3456", firstname: "ali", lastname: "khodabakhashi", isenable: true, …}
1: {nationalcode: 1334853905, stockcode: "md4f5789", firstname: "saeed", lastname: "mohammad", isenable: true, …}
2: {nationalcode: 11313, stockcode: "31313", firstname: "1313", lastname: "1313", isenable: null, …}
3: {nationalcode: 4151515, stockcode: "151", firstname: "5131", lastname: "3114", isenable: null, …}
4: {nationalcode: 123456789, stockcode: "3131", firstname: "31", lastname: "3131", isenable: null, …}
length: 5
__proto__: Array(0)

Ответы [ 2 ]

0 голосов
/ 15 февраля 2020

В данных, которые вы получаете, isenable все в нижнем регистре, но в коде вы используете его как isEnable, javascript имена переменных чувствительны к регистру, поэтому движок обрабатывает их как две разные вещи.

Измените код на user.isenable, и он должен работать

0 голосов
/ 15 февраля 2020

Существует две проблемы.

  1. В приведенном вами примере объекта пользователя это isenable в нижнем регистре. Однако вы пытаетесь сослаться на isEnable
  2. Некоторые из ваших полей isenable равны null. У него нет метода toString

Поскольку нулевое значение является ложным, вы можете замкнуть его.

Здесь является примером

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...