Close
🤔 Do you know HOW users use your form? Find out with Form Nerd! From the creator of Redux Form. 🤓
- Redux Form
- FAQ
- Can I submit my form using websockets?
Can I submit my form using websockets? #
Yes. redux-form
has built-in support for managing submitting
state and errors using promises,
but you can easily replicate its behavior using any other asynchronous paradigm. All you need do
is to dispatch the START_SUBMIT
and STOP_SUBMIT
actions yourself using the exported
Action Creators.
import { startSubmit, stopSubmit } from 'redux-form'
function submitForm(data, dispatch) {
// tell redux-form that the submission has started
dispatch(startSubmit('myFormName'))
channels.methods.push('submit:myFormName', { data })
receive('ok', () => {
// tell redux-form that the submission has stopped
dispatch(stopSubmit('myFormName'))
// ^ not necessary if you are redirecting or doing something
// else that will result in the form state being destroyed
}).receive('error', response => {
const { errors } = response
// tell redux-form that the submission has stopped with errors
dispatch(stopSubmit('myFormName', errors))
})
}
The submitForm
function can then be passed either as an onSubmit
prop to your decorated form
or as a parameter to handleSubmit()
inside your form component. For more on this, look at
the handleSubmit()
docs.
Thanks to Vlad Shcherbin for presenting his solution, from which this answer was modeled.