которое показывается fallback из React.Suspense? Лоадер не успевает адекватно прогрузится
Обычно проблема обратная вроде бы. Там можно настроить что бы fallback показывался только если загрузка больше определенного времени
Мне казалось, что там только два пропса *Фото потому что это картинка кода самого Реакта*
Надо вспомнить как это делалось, возможно я просто путаю с апи loadable components, вообще советую пока только их юзать, суспенс еще не стабильный
у меня в проде суспенс уже года 3, все стабильно, покрайней мере у меня
Это потому что они пока его не меняли)
Они его выпилят, 100%😂
Если кому-то понадобится, то я придумал разве что такой способ: function smoothLazyLoad(path){ return React.lazy(async () => { await sleep(300); return import(path) }) } Sleep - пустой промисс с таймаутом. Стандартная практика
Да, скопировал раньше чем исправил. Спасибо)
может лучше await Promise.all([import(), sleep()]) ?)
А 300 - это по числу спартанцев, или как?)
просто так ты сначала в лохостую будешь ждать 300мс и потом только загружать компонент
Да, ты совершенно прав. Исправляю
Не подскажешь тогда как возвращать только результат импорта?
Promise.all вернет массив результатов в том порядке, в котором промисы ему переданы
как то так const [component] = await Promise.all([import(), sleep()]) return component
О, да, Так симпотичненько)
А для чего саспенс юзаете?
для загрузки страниц, и подгрузки редких компонентов
А насколько это хорошее решение? Ну, вы, получается, замедляете руками загрузку, это действительно критично? Если страница грузится за 100мс, а вы 300 показываете лоадер? Или такого не бывает?
если быстро загружаеться то там мелькает лоадер
Я думаю, что лучше загрузить на 200 мс медленнее, но при этом не будет рваных анимаций
скелетон лучше показывайте
Похоже это всё не работает) Он просто не находит путь. Даже если обертка находится в этом же файле
Обсуждают сегодня