Rant
"Hey look, I like Svelte, but the ecosystem is smaller than React, so that's why I'm not going to use Svelte (SvelteKit)". This is the same message you might find on Reddit, Twitter, or even YouTube comments - the same copy pasta. (Not exactly word by word, but the idea remains.) It begins to become annoying and frustrating when you give people options to choose from, and their only argument is the "smaller ecosystem." And the truth? That is mostly a lie. SvelteJS ecosystem isn't even that small compared to React. Yeah, you are correct if you say that Svelte doesn't have that many UI component libraries, but even for that, there are options (SkeletonUI, Flowbite Svelte, Svelte UI, DaisyUI). And if you want to have more UI component libraries, go make your own UI component library in Svelte, publish it, and then wait for someone to find it and say, "Hey, this UI component library is bad, I'm going to create a better one."
State Management
But let's forget for a minute about UI component libraries and move closer to the real problem. Let's take it bit by bit. Now, when I'm going to start my ReactJS project, what libraries do I need to import first? Tailwind? That is a generic library, so it works on SvelteJS. Oh, I know, a state management library. No one wants to use useReducer, so let's get a better library.
In ReactJS, there are so many options for state management: Redux Toolkit, Jotai, Zustand, MobX, and a lot more. In SvelteJS, we don't have that many state management libraries, but we have svelte/store, a lightweight state management API that comes built-in with SvelteJS. From the start, we get a solution for a problem. Instead of searching for a solution, we can use that time to build something useful.
Styling
Okay, we solved state management, let's move to some styling. Now I want to scope my styling to a component so that we keep it up backed with the components we write. React has a solution for this: CSS modules. But we are cool and hype, and we want to have the styling in the same files as our JSX. To solve this, we need to choose a library from the list of CSS-in-JSS libraries. Let's see our options: styled-components, CSS-Modules, Emotion, JSS. With Svelte, we get this directly built into the framework, the <style></style> block.