What React alone lacks
React is a library for building interfaces. It does one thing: render an interface from data. That's all.
A real site needs a great deal more:
- Routing. Different pages at different addresses.
- Talking to a server. The data has to come from somewhere.
- Server rendering. So search engines see content rather than a blank page.
- Building and optimisation. Code splitting, image handling, caching.
- Project structure. Where to put what.
All of this can be assembled from separate libraries. That's how it used to be done, and it consumed weeks of configuration before the first useful line of code.
What a framework adds
Something like Next.js provides all of the above at once, with sensible defaults.
File-based routing. Create a file in the right folder and an address appears. No manual route declarations.
Server rendering. The page arrives with its content already there. That matters for search engines and for first-paint speed: the person sees text immediately rather than an empty screen.
Server-side data access. You can query a database directly from page code without building a separate service.
A ready build pipeline. No tooling to configure — it works out of the box.
Should a beginner start here
The order is:
- The language first. Without solid JavaScript everything else is pointless.
- Then React on its own. Components, state, lists, forms. Build a couple of pages with it.
- Then the framework.
The reason for that order: starting with the framework leaves you unable to tell where the language ends, the library begins and the framework takes over. Any non-standard task stops you, because you don't know who to ask.
A caveat: many roles today assume work with the framework rather than bare React. So don't postpone indefinitely — a couple of weeks on React alone is enough.
What to understand first
The difference between server and browser code. In current versions components run on the server by default, and interactivity requires an explicit marker. That's the main source of confusion for beginners: code that worked perfectly in plain React suddenly fails with a cryptic error.
How to fetch data. In a server component you can simply await the result, with no special ceremony.
Caching. The framework caches aggressively, and it regularly surprises people: you changed the data and the page still shows the old version.
Is it right for a learning project
Yes, if the project is a site with several pages and some data. You get a sensible structure without losing a week to configuration.
No, if the goal is to understand how React itself works. For that a minimal setup is cleaner: less magic, more understanding.
And an honest caveat: framework versions move fast and approaches move with them. A year-old tutorial may describe a different world. Check the official documentation rather than the first article you find.
Хватит читать — пора делать
На CohortX можно найти команду под пет-проект и получить тот самый опыт, о котором спрашивают на собеседовании.
Похожие статьи
- Зачем нужен фреймворк поверх ReactКакие задачи React не решает, что добавляет надстройка вроде Next.js и стоит ли новичку браться за неё сразу.
- React: state and passing data, with examplesWhat state is, how it differs from props, how to lift it up, and the mistakes everyone makes.
- React: состояние и передача данных на примерахЧто такое состояние, чем оно отличается от передаваемых данных, как поднимать его наверх и какие ошибки совершают все.