由于非JS解释,我很难理解将服务器端数据加载到REACT.JS“视图”的概念。
假设我有一个建在Laravel上的网站(使用路线)。每个路由请求(例如"/“、”联系人“)都有自己的观点。该视图包含来自控制器的数据,并显示在视图中。如果我改变路线,我将被重定向到另一个视图,我将从不同的控制器获得不同的数据。
现在问题来了。假设我有一个简单的网站。最上面的部分是我的登录信息,也许还有一些通知图标,页面的内容会随着网页的不同部分而变化。
所以如果我继续使用Laravel路线。每个页面都将被“重新呈现”+我将不得不手动选择哪些组件属于站点的那个部分。我将不得不再次从整个网络中检索保持不变的信息(例如登录详细信息+通知)--这将扼杀react.js原则,不是吗?
另外,向React.JS传播服务器站点数据的最佳方法是什么?我应该在视图中“回显”JSON对象,然后在REACT中“使用”它吗?
请向我介绍一下如何使用React.js和PHP的一些有意义的方法。
发布于 2016-03-14 12:45:25
您主要回答了您的问题:-)使用Laravel,UI在服务器上呈现。React对于客户端用户界面来说是最有趣的。也就是说,并不是所有的事情都可以在服务器上完成,有些用户的交互只能由浏览器来管理。这就是为什么除了PHP之外,jQuery变得如此成功的原因。
如果您的应用程序提供了一些复杂的客户端代码,即使您保留了当前的服务器端路由器,将这些代码构建为React组件也是有用的:使代码更易于维护,但也可以编写--一旦熟悉了实现这些代码的反应方式。
如果你想把你的应用程序转换成充分使用React和一个客户端路由器,它可以在每个页面上浏览应用程序而无需重新呈现,这就是SPA (单页应用程序)。react生态系统对于构建SPA来说非常酷。不过,通常情况下,服务器只是一个静态服务器,提供JS文件,应用程序连接到某种REST。
在某些情况下,还可以从服务器为特定目的提供路由:
如果您需要启用此服务器端路由,使您的应用程序成为universal或isomorphic,您必须使用浏览器和服务器都可以理解的组件,这就是为什么React应用程序通常由Node.js提供的原因,所以所有内容都在Javascript中。
关于使用React https://medium.com/front-end-developers/handcrafting-an-isomorphic-redux-application-with-love-40ada4468af4#.h8p6lc23w构建通用应用程序的示例教程(在本例中,您的直觉是正确的,在第一次呈现时会发送带有应用当前数据的JSON对象)
如果您对react生态系统感兴趣,也可以查看可怕的React页面(https://github.com/enaqx/awesome-react)。
概述:
https://stackoverflow.com/questions/35987310
复制相似问题