Интересно, как я могу сгруппировать элементы Flatlist по датам в React Native?
Я имею в виду, я пытаюсь создать что-то вроде системы группировки WhatsApp на экране разговора.
На экране чата WhatsApp отделяет сообщения с датой, но этот разделитель виден только в определенных случаях, таких как, Сообщения вчера, сообщения с прошлой недели, прошлого месяца и т. Д. c.
Как я могу Есть ли у такой системы идеи?
Пример: Вот пример
ПРИМЕЧАНИЕ: мне удалось сделать это по-другому, получив дату элемента и с Индекс элемента, получающий также дату предыдущего элемента из состояния и проверяющего с моментом. js, если дата предыдущего элемента совпадает с датой текущего элемента, то не визуализируйте ничего, кроме этого компонента отображения даты.
Я делаю эту проверку следующим образом,
if (index > 0) {
previousDate = moment(this.state.messages[index - 1].created_at).format(
"L"
);
}
и что же это делает до сих пор? он смотрит, находится ли индекс во втором элементе, идет к первому элементу this.state.messages [index - 1] и получает его дату ...
он работает так, но есть проблема, для Например, есть 2 сообщения того же дня, что и первые 2 элемента в плоском списке, его проверка начинается со второго элемента, так как индекс> 0, если я не добавляю этот элемент управления, возникает ошибка, вызванная его отображением первого элемента. до этого нет элемента, this.state.message[index -1]
выдает ошибку, и из-за этого она помещает дату поверх второго элемента вместо первого элемента.
Я не знаю, как решить эту проблему