Laravel + React路由与react-router-dom

时间:2019-01-03 16:59:24

标签: reactjs laravel 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://localhost/project/public时,索引部分就可以了,但是当我尝试加入http://localhost/project/currency时,那是行不通的。我尝试删除索引成分的路径,但对于货币而言相同。

你有个主意吗?

非常感谢

3 个答案:

答案 0 :(得分:0)

“投影”应用程序的基本文件夹吗?

将baseName参数添加到BrowserRouter

    <BrowserRouter basename='/project'>

您还需要更新laravel路由文件,以使其始终匹配到模式... / project / ...的应用程序索引路由。 因此,/ project和/ project / currency都应由laravel路由到index,该索引是该应用程序,并且该应用程序从那里开始处理路由逻辑。 必须对我的CakePHP项目做同样的事情。

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

从web.php路由将为laravel提供完美的路由并做出反应,您可以从laravel进行任何路由以检索数据.... include

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

在网络路线的末尾,以便最后将其加载以获取所有视图