Remix introduced me to data loaders and actions. when I used SvelteKit, the transition was easier.
Next.js doesn't offer an ideal solution to the problem of data loading back then despite being a meta framework. that's why we have apps that use useEffect to fetch data.
Solid.js is just perfect in every way. Docs (or navigating them) could be better though.