React.js是否要求app成为单个页面

时间:2015-08-21 01:17:10

标签: reactjs single-page-application flux

我正在使用React.js,我的问题很简单:如果我使用React,我的应用必须是单页应用吗?

如果没有那么如何控制它们之外的组件?通过FLUX?还有其他标准方法吗?

如果是那么是否有任何库可以在客户端为React执行权限/访问验证?

非常感谢!

1 个答案:

答案 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可以对其做出反应。