【问题标题】:Embedding React app with React-Router 4 in Existing App在现有应用程序中嵌入 React 应用程序和 React-Router 4
【发布时间】:2017-03-28 02:04:04
【问题描述】:

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

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

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

【问题讨论】:

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


    【解决方案1】:

    我在这里整理了一个关于如何执行此操作的基本概念证明,它实际上非常酷。对于您希望在您的 react 应用程序上拥有的所有路由,说它是“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

    然后,您可以挂载您的 react 应用程序,您的 rails 应用程序将采用它可以处理的 URL。如果您智能地管理路线方案,那么您应该是票房。

    我什至在这里 https://github.com/Proximaio/rails-react-example 整理了一个(非常糟糕的)示例回购

    【讨论】:

      猜你喜欢
      • 2019-09-21
      • 1970-01-01
      • 2018-07-27
      • 1970-01-01
      • 2018-11-19
      • 1970-01-01
      • 2016-08-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多