Маршрутизация Laravel + React с помощью react-router-dom

Я пытаюсь создать реагирующую маршрутизацию в своем приложении laravel. Но это не работает. Я безуспешно следил за несколькими уроками.

Сначала я добавил этот маршрут в route.php:

Route::get('/', function () {
return view('index', []); });

Затем в index.blade.php:

    <div id = "app"></div>
    <script src = "{{asset('js/app.js')}}" ></script>

Затем в моем app.js я добавляю маршруты:

  <BrowserRouter>
    <Switch>
     <Route path = "currency" component = {Currency}/>
     <Route path = "/" component = {Index}/>

    </Switch>  </BrowserRouter>

Когда я достигаю http: // локальный / проект / общедоступный, компонент индекса в порядке, но когда я пытаюсь присоединиться к http: // localhost / проект / валюта, это не работает. Я пытаюсь удалить маршрут компонента индекса, но то же самое и с валютой.

У тебя есть идея?

Большое спасибо

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
0
0
2 457
3

Ответы 3

Является ли "проект" базовой папкой для приложения?

Добавьте параметр baseName в BrowserRouter

    <BrowserRouter basename='/project'>

Вам также необходимо обновить файл маршрута laravel, чтобы всегда переходить к маршруту индекса приложения, если он соответствует шаблону ... / project / ... Итак, / project и / project / currency должны быть маршрутизированы laravel для индексации, которая является приложением, и приложение обрабатывает логику маршрутизации оттуда. Пришлось сделать то же самое с моим проектом CakePHP.

Спасибо за ответ. Я пытался добавить базовое имя, но это ничего не меняет.

kassbonbek 03.01.2019 18:10

Вам также необходимо обновить файл маршрута laravel, чтобы всегда переходить к маршруту индекса приложения, если он соответствует шаблону ... / project / ... Итак, / project и / project / currency оба должны перейти в индекс, который является приложением и app обрабатывает логику маршрутизации оттуда.

varoons 03.01.2019 18:11

В порядке. Я только что попытался добавить: Route :: get ('/ currency', function () {return view ('index', []);}); Но теперь это всегда индексный компонент, отображаемый

kassbonbek 03.01.2019 18:15

См. Раздел "Creat Wildcard route" blog.pusher.com/react-laravel-application

varoons 03.01.2019 18:19

Я создаю этот маршрут: Route :: get ('/ {path?}', ['Uses' => 'ReactController @ show', 'as' => 'react', 'where' => ['path' => '. *']]);

kassbonbek 03.01.2019 18:34

Это соответствует чему угодно, но всегда отображается компонент индекса

kassbonbek 03.01.2019 18:35

+1 за ссылку на Cakephp, я сделал то же самое, и теперь он работает. Вопрос в том, разве это не противоречит самой цели, для которой была применена внешняя маршрутизация?

Souvik Ghosh 08.12.2020 15:27

Откройте роутер Laravel для ответа на любой запрос!

Route::get('{all?}', function(){
    return view('index');
})->where('all', '([A-z\d-/_.]+)?');

маршрутизация из web.php дала бы идеальную маршрутизацию для laravel и реакции, вы можете выполнять любую маршрутизацию из laravel для извлечения данных .... включать

Route::view('/{path?}', 'index');

в конце веб-маршрутов, чтобы он, наконец, загрузился, получив все ваши представления

Другие вопросы по теме