Figuring out how to set up a react project in 2026 is genuinely easier than it was a few years ago, mostly because the old default finally died. Create React App is deprecated, Vite won the build-tool argument, and TypeScript is the assumed baseline. This guide walks the honest path: what to run, what to install, and what to leave out so you can actually ship.
What changed in 2026
The React team officially deprecated Create React App, and the docs now steer you toward either a framework or a modern build tool. That single change reshapes how most people start.
- CRA is out. New projects should not use it. It is slow to boot, hard to configure, and no longer maintained.
- Vite is the default build tool for client-side apps. It starts fast, updates instantly, and needs almost no config.
- React 19 is stable, and the React Compiler cuts down on the manual memoization (
useMemo, useCallback) that used to clutter code. Check the current release notes yourself before relying on compiler behavior.
- TypeScript is the norm. Nearly every starter template offers a TS variant, and it is usually the right pick.
Pick your starting point
The first real decision is whether you need a plain single-page app or a full framework. Do not skip this step; it is far more annoying to switch later.
| Option |
What it is |
Reach for it when |
| Vite + React |
Fast client-side SPA scaffold |
You want a simple single-page app with no server |
| Next.js |
Full framework: routing, SSR, data |
You need SEO, server rendering, or room to grow |
| React Router (v7) |
Framework mode with data loading |
You want a routing-first full-stack app |
| TanStack Start |
Newer, type-safe full-stack |
You value end-to-end types and tolerate newer tools |
| Create React App |
Deprecated |
Never, for anything new |
If you are unsure and building something public-facing, a framework like Next.js is the safer bet because search engines see rendered HTML. If it is an internal dashboard or a learning project, plain Vite is lighter and faster to reason about.
The setup, step by step
Start with a current Node LTS release; check the version you have with node -v and update if it is old. Then scaffold with Vite:
// create a typed React app in one command
npm create vite@latest my-app -- --template react-ts
cd my-app
npm install
npm run dev
That gives you a running dev server, usually on a local port it prints for you, with hot reloading already working. For a Next.js app the equivalent is npx create-next-app@latest. Either way, commit right after the first successful run dev so you have a clean baseline before you touch anything.
Tooling you actually need
The scaffold gives you most of what matters. Resist the urge to bolt on everything at once. Here is the short list worth adding early:
- ESLint for catching mistakes. Vite templates often include a sensible config.
- A formatter such as Prettier or Biome so diffs stay clean. Biome bundles linting and formatting if you want fewer tools.
- Vitest for tests, since it shares Vite's config and runs fast.
- A router only when you have more than one page. React Router is the common choice for Vite SPAs.
Everything else, including state libraries, data-fetching layers, and component kits, can wait until a real problem asks for it.
What to skip
- Do not reach for Redux on day one. React state plus context handles more than people expect; add a state library only when prop drilling genuinely hurts.
- Do not install a heavy CSS framework reflexively. Plain CSS, CSS Modules, or a utility framework are all fine; pick one, not three.
- Do not hand-configure Webpack. In 2026 that is almost never worth it; Vite covers the common cases.
- Do not over-template. Starter kits with twenty preinstalled libraries look productive but bury you in code you did not write and cannot debug.
FAQ
Should I still use Create React App?
No. It is deprecated and unmaintained. Use Vite for a single-page app or a framework like Next.js for anything larger.
Is Vite or Next.js better for beginners?
Vite is simpler to understand because it is just a build tool with no server concepts. Next.js teaches more but adds routing and rendering ideas up front. Start with Vite if you only need a client-side app.
Do I need TypeScript?
Not strictly, but it is the default for good reason. It catches errors early and improves editor help. For any project you plan to keep, choose the TypeScript template.
How do I deploy what I build?
A Vite SPA builds to static files with npm run build and can go on almost any host. Frameworks add server steps, so follow their deploy docs and verify current hosting details yourself.
Where to go next
Once your project runs, wire up automated builds and deploys with what CI/CD is, decide how your frontend will talk to data by reading what GraphQL is, and if you are still leveling up your backend skills, see how to learn Python fast.