Expo: адреса в объекте Contact не определены, но отображаются с помощью JSON.stringify - PullRequest
0 голосов
/ 23 марта 2019

Я перепробовал весь синтаксис, который мне известен, но я не могу получить массив адресов, полученный по запросу. У меня нет проблем с номерами телефонов, но я не понимаю, что происходит с адресами.

На самом деле у меня нет проблем с getContactsAsync для получения этих данных. Но когда я получаю контакт с getContactByIdAsync, я вижу, что данные здесь, но я не могу их перебрать. Я вижу, что адреса здесь применяют JSON.stringify к соответствующим данным. Но любой другой метод отвечает «undefined не является объектом» или другими ошибками. Я пробовал с ContactQuery и без него, и во всех случаях я вижу, что данные здесь. И я передаю точно такие же объекты в том же простом методе renderItem.

Я также попробовал хитрость: установите для размера страницы значение 0, а для pageoffset - идентификатор контакта с методом getContactsAsync, но он вообще не работает. И я понял, что это касается каждого массива контакта ...

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

Как я могу решить это?

Во всех случаях данные имеют одинаковую структуру, они абсолютно одинаковы ...

Большое спасибо, если у вас есть ответ.

EDIT

Итак, после повторных испытаний мне, наконец, удалось решить мою проблему.

Поскольку я новичок в выставках и реагирую, а также реагирую нативно, я следую примерам, которые я вижу в Интернете.

На самом деле проблема была в двух частях:

  1. Невозможно доверять государственному механизму. И часто использование Flatlist имеет дело с этой функциональностью. Итак, я проверил два: props и state, и возьму тот, который не является нулевым, перед init FlatList.
  2. Я удалил атрибут общего стиля: flex: 1 в FlatList.

А теперь все работает нормально ...

...