Reactjs 拉威尔+;使用React路由器dom进行React路由
我尝试在我的laravel应用程序上创建react路由。但这不起作用。 我已经听了好几篇教程,但都没有成功 首先,我将此路由添加到route.php:Reactjs 拉威尔+;使用React路由器dom进行React路由,reactjs,laravel,react-router-dom,Reactjs,Laravel,React Router Dom,我尝试在我的laravel应用程序上创建react路由。但这不起作用。 我已经听了好几篇教程,但都没有成功 首先,我将此路由添加到route.php: Route::get('/', function () { return view('index', []); }); 然后,在index.blade.php中: <div id="app"></div> <script src="{{asset('js/app.js')}}" ></s
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>
当我到达时,索引组件是正常的,但当我尝试加入时,这不起作用。我试图删除索引组件的路径,但对于货币也是如此
你有什么想法吗
非常感谢应用程序的基本文件夹是“project”吗
将baseName参数添加到BrowserRouter
<BrowserRouter basename='/project'>
您还需要更新laravel路由文件,以便始终转到应用程序索引路由(如果它与模式匹配…/project/)。。。 因此/project和/project/currency都应该由laravel路由到index,index是应用程序,应用程序从此处处理路由逻辑。 我的CakePHP项目也必须这样做。应用程序的基本文件夹是“project”吗 将baseName参数添加到BrowserRouter
<BrowserRouter basename='/project'>
您还需要更新laravel路由文件,以便始终转到应用程序索引路由(如果它与模式匹配…/project/)。。。 因此/project和/project/currency都应该由laravel路由到index,index是应用程序,应用程序从此处处理路由逻辑。
我的CakePHP项目也必须这样做。打开Laravel路由器以响应任何请求
Route::get('{all?}', function(){
return view('index');
})->where('all', '([A-z\d-\/_.]+)?');
打开Laravel路由器以响应任何请求
Route::get('{all?}', function(){
return view('index');
})->where('all', '([A-z\d-\/_.]+)?');
从web.php路由将为laravel和react提供完美的路由,您可以从laravel执行任何路由来检索数据。。。。包括
Route::view('/{path?}', 'index');
在web路由结束时,它将被加载,以便最终从web获取您的所有视图。php将为laravel提供完美的路由并作出反应,您可以从laravel执行任何路由以检索数据。。。。包括
Route::view('/{path?}', 'index');
在网络路线的最后,它将被加载到最后获得您的所有视图谢谢您的回答。我已尝试添加basename,但这不会改变任何内容。您还需要更新laravel路由文件,以便始终转到应用程序索引路由(如果它与模式匹配…/project/)。。。所以/project和/project/currency都应该转到index,这是应用程序,应用程序从此处处理路由逻辑。Ok。我刚刚尝试添加:Route::get('/currency',function(){returnview('index',[]);});但现在它总是显示索引组件参见“创建通配符路由”第一节创建此路由:路由::get(“/{path?}”,[“使用”=>”ReactController@show“,”作为“=>”反应“,”其中“=>['path'=>”.']]);谢谢你的回答。我已尝试添加basename,但这不会改变任何内容。您还需要更新laravel路由文件,以便始终转到应用程序索引路由(如果它与模式匹配…/project/)。。。所以/project和/project/currency都应该转到index,这是应用程序,应用程序从此处处理路由逻辑。Ok。我刚刚尝试添加:Route::get('/currency',function(){returnview('index',[]);});但现在它总是显示索引组件参见“创建通配符路由”第一节创建此路由:路由::get(“/{path?}”,[“使用”=>”ReactController@show“,”作为“=>”反应“,”其中“=>['path'=>”.']]);