React JS:后端Web应用程序框架

Thi*_*ent 1 model-view-controller frameworks web-applications reactjs reactjs-flux

React的网站声明:

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

由此,我推断React不会在MVC中扮演"M"和"C"角色.

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

那怎么样?

  • React是否需要为后端提供完整的MVC框架,例如Rails或Laravel?
  • React可以简单地从后端获取数据,其中框架(如Rails或Laravel)将被设置为Web API吗?
  • React不需要任何这个并以完全不同的方式工作(换句话说:我完全忽略了这一点)?

Sil*_*rom 5

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

React所做的是它专门构建孤立的组件 - 数据在单一方向上流动(von neumann计算模型).

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

但React并不关心从何处获取数据.您可以使用nodejs/php/ruby​​或任何您想要的内容构建后端.如何在前端和后端之间进行通信和发送数据也取决于您.你可以使用jquery/socketio/superagent或任何你想要的.

您还可以将React与任何其他框架结合使用,或者只是一起跳过框架并直接从react组件获取数据.

作为React的创造者,Facebook有自己的方式或组织名为flux的项目,它可以很好地应对反应(即使不需要). https://github.com/facebook/flux

  • 他们不提倡任何具体的解决方案,他们可能永远不会.他们使用flux作为MVC的替代品,因为它适用于他们.但是,您的用例和您的挑战可能与facebook不同.因此,您应该使用后端解决方案和您觉得舒适的前端设计模式.但是,如果你对facebook关于后端解决方案的想法感兴趣,他们确实会有一些有趣的项目 - 比如Relay(http://facebook.github.io/react/blog/2015/02/20/introducing-relay-and -graphql.html). (2认同)