刷新反应组件或通量/还原的逻辑?

use*_*163 2 flux reactjs reactjs-flux redux

所以我对React相当新,我无法围绕如何基于另一个组件重新渲染主要组件的概念.

假设我们有一个待办事项,待办事项可以有一个状态(新的,运行的,关闭的).我们在列表中显示所有待办事项,我们可以根据状态过滤项目.我们使用bootstrap dropdownbutton like component来设置过滤器,这是一个React组件.现在,当我们更改过滤器时,我们显然想要刷新待办事项.

我的问题是,所选状态的逻辑是否属于Flux/Redux,或者过滤器组件是否只是将"刷新项目"说成主要组件?

Ale*_*sky 5

在React应用程序中使用Redux时,请遵循一个简单的规则 - 所有组件都是无状态的(意味着,没有组件初始化其状态或.setState()在任何地方调用).

基于设计的redux方式,保存所有应用状态的state container一个对象.作为React组件,Redux将连接到Redux存储,将状态(或其一部分)作为this.props.state属性传递给该组件.

该高阶组件(或智能组件)呈现其子组件(或哑组件)并处理它们的事件.

如果子组件需要更改,它会触发相应的处理程序(通常作为传递props).改变状态的唯一方法是派遣一个动作.该操作包含类型和有效负载,并且基于该类型,选择相应的reducer.然后,reducer根据先前的状态和动作有效负载生成新状态.

如果在reducer调用的结果中,状态发生了变化,Redux将重新渲染高阶组件,在属性中传递新状态.因此,所有子组件都将相应更新.

检查此示例并跟踪AddTodo组件调用的方式.handleClick(),然后跟踪.onAddClick()调度操作的上限.