Методы установки React.js в Laravel с примерами кода

Чтобы установить React.js в Laravel, вы можете воспользоваться несколькими способами. Вот несколько вариантов с примерами кода:

Метод 1: использование Laravel Mix
Laravel Mix — это инструмент, который упрощает использование популярных инструментов сборки внешнего интерфейса, таких как Webpack. Вы можете использовать его для компиляции компонентов React в вашем приложении Laravel.

Шаг 1. Установите Laravel Mix и React

npm install laravel-mix react react-dom

Шаг 2. Настройка Laravel Mix
В файл webpack.mix.jsвашего проекта Laravel добавьте следующий код:

const mix = require('laravel-mix');
mix.react('resources/js/app.js', 'public/js');

Шаг 3. Создайте компонент React
Создайте новый компонент React в каталоге resources/js, например, ExampleComponent.js:

import React from 'react';
function ExampleComponent() {
  return (
    <div>
      <h1>Hello, React!</h1>
    </div>
  );
}
export default ExampleComponent;

Шаг 4. Включите компонент React в шаблон Laravel Blade
В свой шаблон Laravel Blade включите скомпилированный файл JavaScript и отрисуйте компонент React:

<!DOCTYPE html>
<html>
  <head>
    <!-- Your head content -->
  </head>
  <body>
    <!-- Your body content -->
    <div id="example"></div>
    <script src="{{ mix('js/app.js') }}"></script>
    <script>
      import React from 'react';
      import ReactDOM from 'react-dom';
      import ExampleComponent from './ExampleComponent';
      ReactDOM.render(<ExampleComponent />, document.getElementById('example'));
    </script>
  </body>
</html>

Метод 2: использование Laravel Livewire
Laravel Livewire — это полнофункциональная платформа для Laravel, которая упрощает создание динамических пользовательских интерфейсов. Он легко интегрируется с React.js.

Шаг 1. Установите Laravel Livewire и React

composer require livewire/livewire
npm install react react-dom

Шаг 2. Создайте компонент Livewire
Создайте новый компонент Livewire с помощью следующей команды:

php artisan make:livewire ExampleComponent

Это создаст новый компонент Livewire в каталоге app/Http/Livewire.

Шаг 3. Включите компонент React в компонент Livewire
Откройте сгенерированный файл компонента Livewire (ExampleComponent.php) и добавьте следующий код:

<?php
namespace App\Http\Livewire;
use Livewire\Component;
class ExampleComponent extends Component
{
    public function render()
    {
        return view('livewire.example-component', [
            'name' => 'John Doe',
        ]);
    }
}

Шаг 4. Создайте компонент React
Создайте новый файл компонента React (resources/js/comComponents/ExampleComponent.js) со следующим кодом:

import React from 'react';
function ExampleComponent({ name }) {
  return (
    <div>
      <h1>Hello, {name}!</h1>
    </div>
  );
}
export default ExampleComponent;

Шаг 5. Включите компонент Livewire в шаблон блейда
В шаблон блейда Laravel включите компонент Livewire с помощью директивы livewire:

<!DOCTYPE html>
<html>
  <head>
    <!-- Your head content -->
    @livewireStyles
  </head>
  <body>
    <!-- Your body content -->
    <livewire:example-component />
    <script src="{{ mix('js/app.js') }}"></script>
    @livewireScripts
  </body>
</html>