onAppear vs .task — когда что использовать?
Суть
.onAppear { }— синхронный колбэк: view появилась в иерархии. Парный.onDisappear. Ничего не отменяет и не знает про async..task { }— запускаетTask, привязанную к жизни view: замыканиеasync, при исчезновении view (или сменеid) задача отменяется автоматически. Это стандартный способ загрузки данных через async/await..task(id:) { }— перезапуск при измененииid: предыдущая задача отменяется, новая стартует. Идеально для «загрузить при смене query / выбранного элемента».
Продолжение ответа с кодом и уточняющими вопросами интервьюера — в приложении DevPrep.
Полный ответ — в DevPrep