等待调度在redux中结束

6ju8rftf  于 2023-03-02  发布在  其他
关注(0)|答案(1)|浏览(162)

我正在使用React Native构建一个离线应用程序,因为我需要在屏幕之间传递许多数据,所以我决定使用redux。但是,我对调度方法有疑问。调度方法是同步的,对吗?那么,当我在调度之后有代码时会发生什么,这取决于调度所做的更改?例如,我有以下函数:

make_action(){ 
  this.props.dispatch(action());
  // rest of the code
}

我怎样才能确保“剩余代码”只在派遣完成后运行?谢谢大家!!

blpfk2vs

blpfk2vs1#

简短的回答是,如果你想遵循Redux,实际上不要把逻辑放在那里,你用“其余代码”注解来指示。
相反,您可以使用一个reducer来处理操作的结果,并将其转换为(存储)状态更改。然后,您将使用该状态来驱动受影响的视图(例如容器或组件),这可以像在其现有呈现方法中使用该状态一样简单(如果是类)或函数体(如果是纯函数)。考虑一下您标记为“剩余代码”的代码,以及它是否应该存在于操作本身、状态处理中(reducer)或渲染视图。通常,在React+Redux应用中,您所建议的代码会位于其中一个或多个位置,或者根本不需要。
相反,如果你引入的代码中有“剩余代码”注解 *,实际上依赖于在那一点上已经完成的操作 *,那么你实际上是在绕过(或反对)Redux。
记住,Redux操作应该只返回由Reducer解释的结果,以改变状态,从而驱动视图。它旨在成为单向的、循环的数据流:

查看派单动作-〉
行动做某事以产生结果-〉

结果被简化为变异的状态,驱动更新的视图-〉
...(现在我们回到视图;重复)

相关问题