在PHP框架中使用React。我如何进行路由?

时间:2017-05-25 23:01:08

标签: php reactjs kohana

我有一个使用Kohana Framework编写的网站。我在控制器中做事的方式是这样的:

public function action_about() {
    $this->template->body = View::factory('main');
    $this->template->body->set('main', 'about');
}

我已经完成了使用react路由器的React教程。要从一个页面到另一个页面,我有一个像这样的函数:

goToAbout(event) {
    event.preventDefault();
    this.context.router.transitionTo('about');
}

我理解它的方式,如果我将React添加到MVC框架,它应该简单地替换V.这意味着我应该仍然使用我的框架的路由和控制器。这就是我被困住的地方。我错过了什么?

1 个答案:

答案 0 :(得分:6)

在这种情况下,它会增加应用程序的“视图”层。您仍然需要使用服务器端框架呈现视图,但是在此之后您可以让React处理所有事情。例如,假设您的react应用程序有三条路径“/ users”,“/ users /:id”,“/ users / new”。服务器端框架(Kohana)中的路由仍必须响应这些路由。

但是,不是为每个路径呈现自定义视图,而是在每个控制器中呈现相同的视图 - 包含用于安装React应用程序的Javascript的视图。

将React应用程序安装到页面后,它将负责解析URL并安装正确的组件。

PS。或者,如果您的服务器端框架允许,您也可以将每个URL映射到同一个控制器以呈现上述视图。