How to setup Laravel app with React.js, Inertia.js and Vite.js
Laravel is a powerful PHP framework for building web applications. It provides a solid foundation for backend development, but when it comes to building frontend interfaces, it can be a bit challenging. Thankfully, there are several frontend technologies that can be integrated with Laravel to make the development process easier and more efficient. In this article, we will explore how to set up a Laravel app with React.js, Inertia.js, and Vite.js.
Step 1: Install Laravel
The first step to setting up a Laravel app with React.js, Inertia.js, and Vite.js is to install Laravel. You can do this by running the following command in your terminal:
composer create-project laravel/laravel project-name
Step 2: Install Inertia.js
Inertia.js is a library that allows you to create single-page applications in Laravel using server-side routing. To install Inertia.js, you can run the following command in your terminal:
composer require inertiajs/inertia-laravel
Step 3: Install React.js with Vite.js
Next, you’ll need to install React.js and Vite.js. Vite.js is a build tool that is designed to work with React and other frontend frameworks. You can install React and Vite by running the following commands in your terminal:
npm install react react-dom
npm install vite --save-dev
Step 4: Set up the Inertia.js adapter for React
To use Inertia.js with React, you’ll need to set up the Inertia.js adapter for React. You can do this by creating a file called InertiaApp.jsx in your resources/js/components directory and adding the following code:
import React from 'react'; import {InertiaApp} from '@inertiajs/inertia-react'; export default InertiaApp
Step 5: Create your React components
Now that you have set up Inertia.js and React.js with Vite.js, you can start creating your React components. You can create a new directory in your resources/js directory called pages and create your React components in this directory.
Step 6: Set up your routes
Finally, you’ll need to set up your routes using Inertia.js. You can do this by creating a file called routes.js in your resources/js directory and adding the following code:
import { createApp, h } from 'vue'; import { createInertiaApp } from '@inertiajs/inertia-vue3'; import { App as InertiaApp } from '@inertiajs/inertia-vue3'; const el = document.getElementById('app'); createInertiaApp({ resolve: name => require(`./pages/${name}`), setup({ el, app, props }) { createApp({ render: () => h(InertiaApp, props) }).use(app).mount(el) }, })
Conclusion
Setting up a Laravel app with React.js, Inertia.js, and Vite.js can be a bit complex, but once you have everything configured, you’ll have a powerful and efficient development setup. This combination of technologies allows you to build modern and dynamic web applications with Laravel as the backend and React.js as the frontend. With the help of Inertia.js, you can easily create and manage your frontend components while taking advantage of server-side routing and other Laravel features. And with the fast builds and hot module replacement capabilities of Vite.js, you can ensure a smooth and efficient development experience.
Yo bro, save us and please do crud app with inertia, laravel and reactjs!
Cheers, great teaching.
Thanks you soo much dude 😍 its help alot
thanks a million!
Bro u saved my day thanks
I was getting error of recursive function but after watching video the error was solved
God bless you
In fact in docs also they haven't mentioned about the vite thing which is must to run laravel with inertia.
👍
How about for TSX?
crud operation please….
This was really helpful. Thank you.