在现有应用程序中使用React-Router 4嵌入React应用程序

时间:2017-03-28 02:04:04

标签: javascript ruby-on-rails reactjs react-router

我有一个现有的rails应用程序,它具有很多核心功能,我已经构建了一个反应路由器应用程序,它将存在于rails应用程序路由的特定通配符路径上。

如何阻止react-routes插件拦截所有链接

假设我已将我的应用程序安装在/ reactApp / *并且我有其他链接,如/ dashboard,/ account等,react-routes插件将拦截外部链接点击(反应应用程序安装在中间的div上现有的铁轨布局)。我希望它只拦截在实际反应应用程序中定义为路由的链接点击。

1 个答案:

答案 0 :(得分:0)

我已经在这里提出了一个基本的概念证明,就如何做到这一点,它实际上非常酷。对于您希望在您的反应应用程序上拥有的所有路线,请说它是'superwidget / *',请执行以下操作

#routes.rb
 root to: 'dashboard#index'
 get 'superwidget', to: 'react#index'
 get '*superwidget', to: 'react#index'

您需要设置'react#index'组件 skip_before_action :verify_authenticity_token

然后您可以安装您的反应应用程序,您的rails应用程序将获取它可以处理的URL。如果你聪明地管理路线方案,那么你应该做得很好。

我甚至在这里放了一个(非常糟糕的)样品回购https://github.com/Proximaio/rails-react-example