Javascript 是否可以通过调度单个redux操作来更新多个reducer?

Javascript 是否可以通过调度单个redux操作来更新多个reducer?,javascript,reactjs,react-native,redux,Javascript,Reactjs,React Native,Redux,免责声明:此问题针对特定的软件包 采用经典的redux操作,通过调度单个操作,它将流经所有的reducer,如果我们想要更新状态,我们将在每个reducer中捕获我们认为合适的类型 loginPage.js this.props.memberLogin{name:'john'}//{type:MEMBER_LOGIN,有效负载:{name:'john'}} LoginAction.js const memberLogin=member=>{ 返回{type:MEMBER\u登录,有效负载:MEM

免责声明:此问题针对特定的软件包

采用经典的redux操作,通过调度单个操作,它将流经所有的reducer,如果我们想要更新状态,我们将在每个reducer中捕获我们认为合适的类型

loginPage.js

this.props.memberLogin{name:'john'}//{type:MEMBER_LOGIN,有效负载:{name:'john'}} LoginAction.js

const memberLogin=member=>{ 返回{type:MEMBER\u登录,有效负载:MEMBER} } authReducer.js

const INITIAL_STATE={isLoggedIn:false} 开关状态=初始状态,动作{ 案例成员_LOGIN:return{…state,isLoggedIn:true}; 默认:返回状态; } memberReducer.js

const INITIAL_STATE={member:null} 开关状态=初始状态,动作{ 案例成员_LOGIN:return{…state,成员:action.payload}; 默认:返回状态; } 想知道通过使用reduxsauce,我们仍然可以实现上面演示的类似功能吗?分派单个操作并更新两个减速机

是的,您可以

我创建它是为了帮助你,但要点是你必须配置你的还原程序来听同样的动作

有点像这样:

const reduceA=状态,action=>{ 状态 a:行动、价值, }; const reduceB=状态,action=>{ 状态 b:行动。价值, }; const{Types,Creators:actionCreators}=createActions{ 测试操作:[“值”], }; 常量处理程序\u A={ [类型.测试动作]:reduceA, }; 常量处理程序\u B={ [类型.测试动作]:还原B, };
在本例中,还原程序A和B的状态值都被相同的action testAction更改。

我能想到的一种方法是创建一个action,该action将在内部分派两个不同的action,分别调用这两个还原程序。如果它们不在同一个文件中,例如:redux_A.js&redux_B.js,在这种情况下,我必须导出类型。测试\u操作?它真的可以辨认吗?@Isaac是的,它可以辨认。只需导出Types对象,并在需要更改状态的任何地方使用它。我只是在一个文件中完成了这一切,因为它更简单,但是如果你修改零食示例,它应该可以在不同的文件中创建还原器。@Isaac在我工作的一个项目中,我们在一个名为actions.js的分离文件中定义了actions,并导入了类型和创建者对象。Types对象只是一个方便的快捷方式,用于获取标识要处理的操作的字符串,您只需将字符串传递给处理程序,只要它标识了正确的操作,它就可以正常工作。我已经把它分开了,但不确定它是否是正确的方式啊……我明白你的意思,现在开始明白它的要点了!非常感谢布鲁诺!