【问题标题】:Getting started with React and RailsReact 和 Rails 入门
【发布时间】:2016-12-14 21:03:38
【问题描述】:

我开始了一个新项目,我想在其中使用 React 和 Rails。这个项目很小,需要一些基本的交互式 UI,因此需要 React。据我所知,有两种方法可以开始:

  • 使用 react-rails gem 并使用内置的视图助手
  • 创建 Rails API 和 React/Flux 前端应用

不过,我有几个问题。排名不分先后:

  • React-rails 似乎是更简单的解决方案,但我会面临哪些缺点?
  • 我来自 Rails 和 Ember 背景,因此 Rails API + React FE 解决方案对我来说具有架构意义。但是对于 react-rails gem,我对应该如何做一些事情感到困惑。首先,我如何处理路由?我想我将无法访问任何反应路线助手,并且需要将路径作为道具传递到反应组件中?

提前致谢!

【问题讨论】:

  • 看看this tutorial 和这个repo(其中包含教程中的JSX 版本的代码示例)。

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


【解决方案1】:

这取决于您的服务器的工作量以及您的团队。如果您有很多业务逻辑要保留在 Rails 中,那么您可能希望这些逻辑在专用 Rails 服务器上运行并作为 API 公开。

然后,您可以拥有一个 NodeJS 服务器,它只从 API 获取数据并渲染 React 以发送给用户。 react 和 rails 之间的唯一交互是通过 API 作为 JSON。这个基本设置可以很好地扩展,并且是一个非常简单的心智模型。

如果项目变得更大,这意味着您可以让仅 JS 的开发人员仅在 JS 中工作,而 Rails 开发人员仅在 Rails 中工作。另外,如果您以后想离开 Rails 或 React,也不会增加复杂性。

如果你所有的开发者都是 React+Rails 并且项目对于多台服务器来说有点小,那么我认为使用 react-rails 来提供你的页面是一个很好的解决方案。

【讨论】:

    【解决方案2】:

    对于一个小型项目 React-Rails,https://github.com/reactjs/react-rails,非常棒,去年我在 2 个每月访问量约 10 万的网站上将它用于生产,我没有遇到任何问题。

    也就是说,如果你想使用 Redux、React-Router 或 Flux,请不要使用 React-Rails,走 API 路线。

    我的规则是,如果你只是使用 React 组件,那么就使用 React-Rails。

    如果您正在做一个 Redux、Flux 应用程序,那么只需制作一个前端应用程序。

    【讨论】:

      猜你喜欢
      • 2017-02-24
      • 2011-10-11
      • 2011-12-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多