我有一个使用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.这意味着我应该仍然使用我的框架的路由和控制器。这就是我被困住的地方。我错过了什么?
答案 0 :(得分:6)
在这种情况下,它会增加应用程序的“视图”层。您仍然需要使用服务器端框架呈现视图,但是在此之后您可以让React处理所有事情。例如,假设您的react应用程序有三条路径“/ users”,“/ users /:id”,“/ users / new”。服务器端框架(Kohana)中的路由仍必须响应这些路由。
但是,不是为每个路径呈现自定义视图,而是在每个控制器中呈现相同的视图 - 包含用于安装React应用程序的Javascript的视图。
将React应用程序安装到页面后,它将负责解析URL并安装正确的组件。
PS。或者,如果您的服务器端框架允许,您也可以将每个URL映射到同一个控制器以呈现上述视图。