SwiftUI LazyVStack или List очень медленно загружается со многими элементами и ScrollTo в onAppear
У меня есть LazyVStack в ScrollView с прокси-сервером ScrollViewReader. Это приложение для чата, поэтому при первой загрузке представления я хочу, чтобы оно переместилось в нижнюю часть LazyVStack.
Проблема в том, что когда я добавляю прокси scrollTo в onAppear, он значительно замедляет отображение списка с задержкой, прямо пропорциональной количеству элементов в LazyVStack.
Я предполагаю, что это потому, что прокрутка заставляет загружать все строки.
Мне интересно, есть ли что-нибудь вокруг этого?
var body: some View {
GeometryReader { geometry in
ScrollView(.vertical) {
ScrollViewReader { scrollView in
LazyVStack {
Section(footer: (Spacer().frame(height: 8)).id("Footer")) {
ForEach(messages, id: \.id) { message in
MessageView(message: message)
}
}
}
.onAppear {
scrollView.scrollTo(messages.last.id)
}
}
}
}