Как отрендерить Flatlist при обновлении? - PullRequest
0 голосов
/ 30 декабря 2018

Можете ли вы показать мне, как визуализировать Flatlist при обновлении?Я использую базу данных SQLite для своей локальной базы данных, и у меня есть две страницы, одна для отображения всех рабочих и одна для создания рабочих.Как я автоматически отрисовываю страницу для отображения всех работников при создании нового работника (живая перезагрузка / обновление)?

1 Ответ

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

В зависимости от требований вашего приложения, наиболее простым решением будет использование метода get, который вы используете для извлечения данных из вашего приложения, как только пользователь нажмет кнопку «создать работника» и обновит массив данных в вашем состоянии.или реквизит (предпочтительно реквизит).React Native всегда будет повторно выполнять рендеринг, если обнаружит изменение в состоянии или подпорках.

Одна из проблем, связанных с описанным выше методом, заключается в том, что он обновится для текущего пользователя, но представьте, что другой пользователь тоже использует приложение, он не будет обновляться для них, если они сами не обновят компонент (это может быть вкладка и выход на странице).

Один из способов - использовать Socket.io (https://socket.io/), для создания приложения реального времени Socket.io позволит вам прослушивать изменения от всех пользователей и отправить запрос на обновление всем пользователям, которые, в свою очередь, должны обновить свои приложения в зависимости от изменений.

РЕДАКТИРОВАТЬ: Добавьте указанный ниже метод в свой класс WorkersView, если он отличается от вашего экрана createWorker, тогда экран WorkersView будет обновляться при каждом входе пользователя в экран.

componentDidMount() {
    this.props.navigation.addListener('willFocus', this.getAllWorkers);
}

Примечание: Я бы порекомендовал использовать систему хранения, такую ​​как Redux или AsyncStorage, тогда вы сможете передавать информацию на все ваши экраны.re эффективно и эффективно.

...