Reactjs redux—在';肮脏';国家?
我正在使用来处理react redux应用程序的业务逻辑 我有Reactjs redux—在';肮脏';国家?,reactjs,redux,react-redux,redux-logic,Reactjs,Redux,React Redux,Redux Logic,我正在使用来处理react redux应用程序的业务逻辑 我有组件A和一些字段。在这个组件之外,我还有其他组件,用户可以单击它们并调用操作 在组件A中执行某些操作时,用户可以单击其他组件 “捕捉”这些呼叫的最佳方式是什么,但首先显示一些弹出窗口,上面写着“嘿,你确定吗?”如果用户单击“确定”,就会触发这些呼叫 到目前为止,我只是设法做到了以下几点: 例如,用户从组件B调用操作(而组件A中仍有未完成的业务) 听这个调用的逻辑,检查我们是否处于脏模式。如果是,我们拒绝接听电话 有两件事对我来说不
组件A
和一些字段。在这个组件之外,我还有其他组件,用户可以单击它们并调用操作
在组件A中执行某些操作时,用户可以单击其他组件
“捕捉”这些呼叫的最佳方式是什么,但首先显示一些弹出窗口,上面写着“嘿,你确定吗?”如果用户单击“确定”,就会触发这些呼叫
到目前为止,我只是设法做到了以下几点:
- 例如,用户从组件B调用操作(而组件A中仍有未完成的业务)
- 听这个调用的逻辑,检查我们是否处于脏模式。如果是,我们拒绝接听电话
听起来您需要使用中间件。Redux传奇应该是答案
签出:如果您使用的是
redux-thunk
,那么类似的操作将非常简单:
function goingAwayAction(){
return (dispatch, getState) => {
const state = getState();
if (Selectors.formIsDirty(state)) {
confirm("Are you sure?", () => { dispatch(GoAway()) })
} else {
dispatch(GoAway())
}
}
}
我不知道具体的
redux逻辑,但您的通用解决方案是在异步操作中检查表单脏度。有一些很好的确认库,可以让您指定一个回调,当他们说“是”时就会发生,这将简化一些逻辑。我以前用过,而且用得很成功 你能包括一些代码吗?展示你迄今为止所做的尝试?