Reactjs 有人能举一个非常适合Flux/Redux的应用程序的例子吗?

Reactjs 有人能举一个非常适合Flux/Redux的应用程序的例子吗?,reactjs,flux,reactjs-flux,redux,Reactjs,Flux,Reactjs Flux,Redux,如果这个例子能帮助我理解以下问题的答案,我将非常高兴: 对于在整个应用程序生命周期中不大可能更改的数据,您是否应该使用Flux/Redux存储?如果你的应用程序中的大部分数据都是这样的,你是否应该使用flux/redux商店呢 我在标题中提出这个问题是因为绝大多数应用程序似乎与我的类似(可能更复杂),如下所述。不知何故,我认为Redux是一个为内部数据发生变化的应用程序设计的框架(因此Redux教程中有大量反例) 在我的例子中,我的应用程序的第一个屏幕将提示用户从列表中选择酒店。一旦选定,将出现

如果这个例子能帮助我理解以下问题的答案,我将非常高兴: 对于在整个应用程序生命周期中不大可能更改的数据,您是否应该使用Flux/Redux存储?如果你的应用程序中的大部分数据都是这样的,你是否应该使用flux/redux商店呢

我在标题中提出这个问题是因为绝大多数应用程序似乎与我的类似(可能更复杂),如下所述。不知何故,我认为Redux是一个为内部数据发生变化的应用程序设计的框架(因此Redux教程中有大量反例)


在我的例子中,我的应用程序的第一个屏幕将提示用户从列表中选择酒店。一旦选定,将出现特定于选定酒店的菜单结构(使用react非常容易),该结构是根据对服务器的api响应创建的。一旦选择了一家酒店,它就不太可能被更改,但有可能,在这种情况下,将加载一套全新的菜单。应用程序的其余部分将通过表单提交的方式将数据推送到服务器。以及用户从服务器收到的确认信息。

假设您有一个如下所示的组件树<代码>组件A是根。组件G中有一个按钮

组件A
-->
组件B
-->
组件C
-->
组件D
-->
组件E
-->
组件F
-->
组件G

现在,假设您有另一个组件,
component K
,它嵌套如下:

组件A
-->
组件H
-->
组件I
-->
组件J
-->
组件K

组件K
是一个简单的视图,它接收一个道具,并用该道具的值呈现一个跨度标记<代码>组件G包含一个按钮,单击该按钮时,该按钮可更改
组件K
呈现的道具值

现在,无通量反应方法是让
组分A
拥有状态并将其作为道具传递给
组分K
<代码>组件A也会有一个方法修改该状态,并将对该函数的引用作为道具一直传递到组件G

如果你只做一次,听起来并不是那么糟糕,但是如果你有几十个状态变量呢?如果组件变得更加嵌套,该怎么办?您的控制器视图变得非常难以管理,您将向中间组件传递几十个道具,这些组件甚至不使用这些道具(只将它们传递给它们的子组件)

Flux允许您降低控制器视图的复杂性。控制器功能可以放在单独的模块中,这些模块可以导入到需要使用它们的组件中。需要访问状态的组件可以订阅包含该状态的存储


就我而言,这是使用通量模式的主要原因。

是的,谢谢,这是有道理的。因此,一旦应用程序将函数向下传递到组件树,导致组件树的完全不同分支中的组件发生状态更改,您的手就会开始变得一团糟,除非您有一个处理状态的中心位置。