私はReactとReduxを初めて使いました。私はアクションをdeleteSelectedItems
ディスパッチするので、私はそれをキャッチし、確認を表示するreduxミドルウェアを使用してリストから項目を削除したい。それは以下のようになります。反応確認ミドルウェアと還元型ミドルウェア
処置:
export const deleteSelectedItems =() => {
return {
type: ActionTypes.ITEM.DELETE_SELECTED,
payload: {
confirm: {
message: 'Are you sure you want to delete these selected items?'
}
}
}
};
ミドルウェア:
const confirmMiddleware = store => next => action => {
if (action.payload.confirm) {
if (confirm(action.payload.confirm.message)) {
next(action);
}
} else {
next(action);
}
};
すべてがうまく動作します。今、私は確認ダイアログを表示するためにconfirm()
を使用したくない、私自身のConfirmDialog
コンポーネントを代わりに使用したい。 私は@Dan Abramov solutionが見つかりました、それは素晴らしいです。しかし、私はそれらを一緒に統合する方法が混乱しています。 confirmMiddleware
を使用してモーダルを表示するアクションをディスパッチしますが、ユーザーがモーダルで[OK]をクリックするかキャンセルするときの対処方法がわかりません。どうやってやるの?
私もそう思っていましたが、それが最善の方法であるかどうかはわかりません。私が試してみましょう。ありがとう –