Laravel + React routing with react-router-dom

qco9c6ql  于 2023-08-08  发布在  React
关注(0)|答案(4)|浏览(125)

我尝试在我的laravel应用程序上创建一个react路由。但这不管用。我已经遵循了几个教程没有任何成功。
首先,我将这个路由添加到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://localhost/project/public时,索引组件是可以的,但当我尝试连接http://localhost/project/currency时,这不起作用。我尝试删除索引组件的路径,但对于货币也是一样。
你有什么主意吗?
多谢了

pkmbmrz7

pkmbmrz71#

“project”是应用程序的基本文件夹吗?
将baseName参数添加到BrowserRouter

<BrowserRouter basename='/project'>

字符串
您还需要更新laravel路由文件,以便在匹配模式.../project/...时始终转到app索引路由所以/project和/project/currency都应该由laravel路由到index,index是应用程序,应用程序从那里开始处理路由逻辑。我的CakePHP项目也是如此。

xfyts7mz

xfyts7mz2#

打开Laravel路由器响应任何请求!

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

字符串

4si2a6ki

4si2a6ki3#

从web.php路由将为laravel和react给予完美的路由,您可以从laravel执行任何路由来检索数据。包括

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

字符串
在web路由的末尾,以便它将被加载,最后得到您的所有视图

0aydgbwb

0aydgbwb4#

Add this in web.php in Route directory
 
Route::get( '/{path?}', function(){
   return view( 'view' );
    } )->where('path', '.*');

it will work perfectly.

字符串

相关问题