Laravel Breeze with Inertia and React

April 30, 2021 · 3 min read

2025 UPDATE
Many things have changed since this article was first published in 2020. At that time, there was no React Starter Kit available, and our contribution was the first to create React Breeze. Interestingly, just today (February 24, 2025), we saw the release of the new Laravel 12 website, and we noticed that the React Starter Kit was the top choice for frontend development for Laravel developers. And here’s a lovely little thing Taylor Otwell said 4 years ago when we released the package:

You can keep reading the article to read about our solution to this problem when there were no official Laravel starter kits available for React developers.
Using Laravel starter kits
When starting a new Laravel project, using starter kits can speed up the development process. Laravel has two main starter kits, each with different features for various project needs.
Laravel Jetstream
Jetstream is Laravel’s full-featured starter kit with many functions to get your app going. It has login, sign-up, email verification, and two-factor authentication. It also has strong session control and API support with Laravel Sanctum. For those building collaborative platforms, Jetstream has an optional team management feature. More details are in the official Jetstream documentation.
Laravel Breeze
For a simpler option, Laravel Breeze has basic authentication features. It includes login, sign-up, password reset, email verification, and password confirmation. Breeze is easy to use, as explained in the Breeze documentation.
The Role of Inertia in Laravel Starter Kits
Both Jetstream and Breeze support Blade and Inertia views, catering to different front-end preferences. However, it’s important to note that Inertia’s integration in these starter kits is currently limited to Vue.js support. At Lucky Media, we predominantly use Breeze for our internal projects, pairing it with React to capitalize on Inertia’s ability to provide a single-page application (SPA) experience.
A custom React package for Laravel Breeze
The task of changing Vue components to React for each Laravel Breeze project led us to make a custom package. It’s a version of Laravel Breeze without the Blade views and sets up the Inertia package with React components by default.
This custom React package for Laravel Breeze simplifies the initial setup for our projects and could be a valuable asset to any development team looking to work with a combination of Laravel and React.
Getting started with our package
To get started it’s very simple, we create a fresh Laravel installation with the following command:
composer create-project laravel/laravel breeze-demoOnce the project finishes the installation, we need to access the working directory:
cd breeze-demoWe require our package from Packagist with the following command:
composer require lucky-media/breeze-react --devThe dev flag is required as this package is only used in Development.
Finalizing the Installation
After it has finished installing, run the following command:
php artisan breeze:install
# After it has finished installing
# run the following command
npm install && npm run devNow if you did everything correctly, visit your website at http://breeze-demo.test. If you are using Valet you should see the Breeze app created, but instead of Vue you have React pre-packaged.
Contributing to Our Package
If you want to check the source code or you have an idea how we can improve this package, PR-s are welcomed in our official repo.
Bring Your Ideas to Life 🚀
If you need help with a Laravel project let’s get in touch.
Lucky Media is proud to be recognized as a leading Laravel Development Agency
Technologies

Stay up-to-date
Be updated with all news, products and tips we share!

