Yup, I think this is a recommended use of useTransition in Next JS. You're improving the UX by giving instant feedback with setActiveTab, showing a loading spinner using isPending and avoiding a UI freeze during router.push. Can't think of anything wrong with it IMO.