我正在使用 React.js,我的问题很简单:如果我使用 React,我的应用程序是否必须是单页应用程序?
如果没有,那么我如何控制它们之外的组件?通过通量?还有其他标准方法吗?
如果是,那么是否有任何库可以在 React 的客户端执行权限/访问验证?
非常感谢!
我正在使用 React.js,我的问题很简单:如果我使用 React,我的应用程序是否必须是单页应用程序?
如果没有,那么我如何控制它们之外的组件?通过通量?还有其他标准方法吗?
如果是,那么是否有任何库可以在 React 的客户端执行权限/访问验证?
非常感谢!
React 应用程序不必是单页应用程序。React 为您提供了一种根据具有特定渲染逻辑的类对 HTML 进行建模的方式,但不会强加任何类型的特定应用程序逻辑,例如单页和多页。
我不太确定我是否理解您的其余问题,但我认为您本质上是在问如何将 React 应用程序建模为多页应用程序。有很多方法,但是,一种是像这样构建文件:
./app --> main page for your app
./app/page1/ --> page 1 of your app
./app/page2/ --> page 2 of your app
...
这样,每个“页面”将包含一个自包含的react项目。您的主应用程序页面可以包含加载这些页面的超链接,或者您可以在您的 javascript 代码中异步加载它们。
编辑:评论中澄清的问题是,由于页面上的某些操作,如何使react组件更改:
Sayreact 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
可以对其做出react。