經典問題 - 我想在提交表單前驗證表單。Redux - 有條件派遣
我的提交按鈕觸發一個動作(簡單調度或thunk)。如果表單有效,請提交 - 否則,觸發錯誤消息。
簡單的解決方案:派遣一個動作,例如VALIDATE_AND_SUBMIT,它在reducer中驗證表單,並提交或設置錯誤狀態。
我覺得這是兩個不同的操作:驗證
{
type: "VALIDATE",
formData
}
這應該驗證並設置錯誤。
{
type: "SUBMIT",
// get form data and errors from state
}
提交 - 應提交沒有錯誤狀態。
即使我使用了redux-thunk,我也無法從第一個VALIDATE動作獲得反饋。我的思維過程是反模式嗎?如何在提交表單之前進行驗證?
我FORMDATA存儲在我的國家,所以我不能一個thunk內訪問 - 你將如何解決這個問題? – tgun926
你可以在thunk中使用第二個參數,它是'getState'函數。您可以使用它從商店獲取當前狀態。我會更新我的答案來證明這一點。 –