setState мои данные ответа в React.js (axios) - PullRequest
0 голосов
/ 09 декабря 2018

Я не знаю, почему я не могу установить мои данные ответа REST API.Console.log просто работает.Где проблема?Я не могу найти проблему в своем коде.

class RecentTransactions extends Component {
  constructor() {
    super();

    this.setState = {
      recentTransactionsSender: [],
      recentTransactionsRecipient: [],
    };
  }

  componentDidMount() {
    axios
      .all([
        axios.get('http://localhost:3000/api/transactions/recipient/1'),
        axios.get('http://localhost:3000/api/transactions/sender/1'),
      ])
      .then(
        axios.spread(
          (recentTransactionsRecipient, recentTransactionsSender) => {
            this.setState({
              recentTransactionsRecipient: recentTransactionsRecipient.data,
              recentTransactionsSender: recentTransactionsSender.data,
            });
          },
        ),
      )
      .catch(err => {});
  }

1 Ответ

0 голосов
/ 10 декабря 2018

Прежде всего, вы неправильно устанавливаете исходное состояние.Вы должны присваивать начальное состояние объекту state , а не setState .

this.state = {
  recentTransactionsSender: [],
  recentTransactionsRecipient: [],
};

Более того, поскольку вы ничего не делаете в конструкторе, другомчем установить начальное состояние, вы можете удалить его и вместо этого сделать

class RecentTransactions extends Component {
    state = {
        recentTransactionsSender: [],
        recentTransactionsRecipient: [],
    };
}

Кроме этого, не имея более подробной информации о том, что не работает, невозможно помочь вам в дальнейшем.

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