【问题标题】:React JS: backend web application frameworkReact JS:后端 Web 应用程序框架
【发布时间】:2015-09-14 11:04:36
【问题描述】:

React 的网站声明:

很多人使用 React 作为 MVC 中的 V。

由此,我推断 React 在 MVC 中不扮演“M”和“C”角色。

如果这是正确的,则意味着无法仅使用 React JS 构建整个 Web 应用程序。

那怎么办?

  • React 是否需要完整的后端 MVC 框架,例如 Rails 或 Laravel?
  • React 能否简单地从后端提取数据,其中框架(如 Rails 或 Laravel)将设置为 Web API?
  • React 是否不需要这些并且以完全不同的方式工作(换句话说:我完全没有抓住重点)?

【问题讨论】:

    标签: model-view-controller web-applications frameworks reactjs reactjs-flux


    【解决方案1】:

    MVC 只是在应用程序中构建数据流的术语。 您不需要 MVC 来构建应用程序,即使它可能会有所帮助。

    React 的作用在于它专注于构建隔离组件 - 数据在单个方向上流动(计算的冯诺依曼模型)。

    这非常好,因为您可以在数据更改时始终重新呈现所有内容的前提下构建应用程序,从而避免难以阅读的“双向绑定”。 问题是当一些小数据被改变时重新渲染每个视图是非常低效的,但是 Reacts “Shadow DOM” 优化了这个过程,并进行了高效的重新渲染。

    但是 React 并不关心它从哪里获取数据。你可以使用 nodejs/php/ruby 或任何你想要的东西来构建一个后端。您如何在前端和后端之间通信和发送数据也取决于您。你可以使用 jquery/socketio/superagent 或任何你想要的。

    您还可以将 React 与任何其他框架结合使用,或者直接跳过所有框架并直接从 React 组件中获取数据。

    Facebook 是 React 的创建者,他们有自己的方式或组织称为 Flux 的项目,它与 React 配合得很好(即使不需要它)。 https://github.com/facebook/flux

    【讨论】:

    • 谢谢,这很清楚,很有意义。我还想知道 Facebook 是否提倡一种特定的后端解决方案而不是另一种,但找不到答案。从你说的,他们没有?
    • 他们不提倡任何具体的解决方案,而且他们可能永远不会。他们使用通量作为 MVC 的替代品,因为它对他们很有效。但是,您的用例和挑战可能与 Facebook 不同。因此,您应该使用您觉得舒服的后端解决方案和前端设计模式。但是,如果您对 facebook 的后端解决方案想法感兴趣,他们确实有一些有趣的项目正在进行 - 比如 Relay(facebook.github.io/react/blog/2015/02/20/…)。
    猜你喜欢
    • 1970-01-01
    • 2011-03-23
    • 1970-01-01
    • 2011-04-08
    • 1970-01-01
    • 2011-12-03
    • 2011-03-24
    • 2020-07-31
    • 1970-01-01
    相关资源
    最近更新 更多