我正在使用redux-logic处理我的react-redux应用程序的业务逻辑。
我有component A
,其中包含一些字段。在此组件之外,我还有其他组件,用户可以单击它们并调用操作。
在组件A中执行某些操作时,用户可以单击其他组件。
“捕获”这些呼叫的最佳方法是什么,但是首先显示一些弹出窗口,说“嘿,您确定吗?”如果用户单击“确定”-触发这些呼叫?
到目前为止,我只是设法做这样的事情:
对我来说不合适的两件事:
答案 0 :(得分:0)
听起来像您需要使用中间件。 Redux-saga应该是答案。
结帐:https://redux-saga.js.org/docs/basics/DispatchingActions.html
答案 1 :(得分:0)
如果您使用的是redux-thunk
,那么这样简单:
function goingAwayAction(){
return (dispatch, getState) => {
const state = getState();
if (Selectors.formIsDirty(state)) {
confirm("Are you sure?", () => { dispatch(GoAway()) })
} else {
dispatch(GoAway())
}
}
}
我并不特别了解redux-logic
,但是您的一般解决方案是检查表单是否脏污,这是异步操作的一部分。有很多用于确认的库,您只需指定一个回调即可,当它们说“是”时发生,这将为您简化一些逻辑。我以前使用过react-confirm-alert
并成功!