Наткнулся в доках по nuxt 3 на - navigateTo, где написано, что ее можно также использовать для навигации между страницами. Попробовал в проекте - работает. (даже без указания return или await - как указано в доках)
Почему же тогда все используют router.push и чем это отличается от navigateTo? Ведь по идее, если использовать navigateTo, то не нужно вызывать useRouter() в script, чтоб router.push использовать.
Может кто-то объяснить разницу между ними, когда и почему нужно использовать navigateTo, а когда router.push и почему?
Вкратце - это обёртка над router.push/replace(), изначально созданная исключительно в качестве сахара (да, чтобы не писать useRouter()), потом её научили выполнять редирект на стороне сервера, а потом научили справляться с внешними урлами.
все используют router.push
Это появилось только в Nuxt 3, который всё ещё не то чтобы production-ready, поэтому не успело примелькаться.