我是React和Redux的新手。我想從列表中刪除項目,所以我派遣一個動作deleteSelectedItems
然後我使用REDX中間件來捕捉它並顯示確認。這看起來象下面這樣:React確認模態和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
發送一個顯示模式的動作,但我不知道如何處理,當用戶單擊確定或取消模態。我怎樣才能做到這一點?
我也這麼認爲,但我不確定這是否是最好的方法。讓我嘗試。謝謝 –