多个动作之前的Redux确认

时间:2018-03-27 20:55:48

标签: reactjs redux

我正在使用React学习Redux。我在尝试进行一系列操作(例如网络请求)之前尝试显示确认提醒。

我没有显示警报本身的问题,但是确定警报关闭后会发生什么以及继续执行其他操作的好策略是什么?

我希望有一些通用的方法,所以我可以在同一个函数中发送show-confirmation操作,我在这个函数中定义了确认时会发生什么。

我所看到的所有方法似乎都要求您将on-close处理函数添加到Redux存储中,这是不允许的。或者他们建议在商店中添加第二个操作,然后确认组件将发送。但如果我想调用一系列更复杂的行动,这无济于事。

我也看到了使用redux-saga的建议,但我确信这个基本的东西可以用标准的Redux包完成,而不会引入另一个第三方库。正确?

1 个答案:

答案 0 :(得分:3)

嗯,是的,我不会将onClose处理程序添加到商店。相反,我会跟踪商店中的模态可见性。然后,每次模态可见性更改时,您都会调度一个操作,该操作将使用isModalVisible的新值或其他任何内容更新组件。然后,您可以在模式切换时使用通用可见性更改处理程序。

然后在组件中,你会像这样使用它:

componentWillReceiveProps(nextProps) {
    if(nextProps.isModalVisible !== this.props.isModalVisible && !nextProps.isModalVisible) {
        // this.handleModalChange()
        // dispatch any other actions here
    }
}

首先检查以确保状态实际发生了变化,然后进行第二次检查以仅在模态关闭时触发。