我正在使用React.js,我的问题很简单:如果我使用React,我的应用必须是单页应用吗?
如果没有那么如何控制它们之外的组件?通过FLUX?还有其他标准方法吗?
如果是那么是否有任何库可以在客户端为React执行权限/访问验证?
非常感谢!
答案 0 :(得分:14)
反应应用程序不必是单页面应用程序。 React为您提供了一种在具有特定渲染逻辑的类方面建模HTML的方法,但没有强加任何类型的特定应用程序逻辑,如单页面和多页面。
我不太清楚我理解你的其他问题,但我认为你基本上要求如何将反应应用程序建模为多页应用。但是,有很多方法可以像这样构建文件:
./app --> main page for your app
./app/page1/ --> page 1 of your app
./app/page2/ --> page 2 of your app
...
通过这种方式,每个“页面”将包含一个自包含的反应项目。您的主应用程序页面可能包含加载这些页面的超链接,或者您可以在JavaScript代码中异步加载它们。
编辑:评论中澄清的问题是如何通过页面上的某些操作使响应组件发生变化:
说react component B
包含在react component A
中。用户按下button B
中包含的react component B
,按下后会调用callback B
中的react component B
,此次点击应触发react component A
中的某些操作。 callback B
应以某种方式通知react component A
事情已发生变化。
这是您可以选择做什么的地方。您可以让react component B
发出react component A
侦听的更改(并相应地重新呈现),或者您可以使用FLUX
模型。在FLUX
模型中,react component B
将向某个状态存储发出状态更改,这将触发要发出的事件。 react component A
需要为此事件设置事件回调,当react component B
发出时,react component A
可以对其做出反应。