What is CRA in React?
CRA stands for Create React App. It was a tool that helped developers create and set up a new React application quickly without manually configuring Webpack, Babel, development servers, and other build tools.
For example, traditionally you could create a React application using:
npx create-react-app my-app
This would generate a complete React project structure.
What CRA handled for you
CRA provided the development setup automatically:
- React and React DOM
- JavaScript/JSX compilation
- Webpack configuration
- Babel configuration
- Development server
- Production build
- Hot Module Replacement
- ESLint integration
- Basic project structure
You could then run:
cd my-app
npm start
and your React application would start locally.
CRA vs modern React development
This is an important point for React 19 learning:
Create React App is now deprecated and is not the recommended way to start new React applications. The React team recommends using a framework or a modern build tool such as Vite for applications that don't need a full framework.
For example, with Vite:
npm create vite@latest my-app
Then select:
React
TypeScript
or:
React
JavaScript
Simple comparison
| CRA | Vite |
|---|---|
| Create React App | Vite |
| Older React project setup | Modern project setup |
| Webpack-based | Uses Vite/Rollup tooling |
| Slower startup/build experience | Very fast development startup |
| Deprecated | Actively used |
npx create-react-app |
npm create vite@latest |
So, when learning React 19, you should learn what CRA is for historical/interview knowledge, but use Vite for your practical React projects.