📅  最后修改于: 2023-12-03 15:04:50.336000             🧑  作者: Mango
React-Redux Form is a library for managing form state in React and Redux applications. One common problem that arises when submitting forms is that the page reloads or navigates to a different URL. In order to prevent this behavior, we can use preventDefault()
.
preventDefault()
is a method of the event
object that can be called to prevent the default behavior of an event. For example, when a form is submitted, the default behavior is to reload the page or navigate to a new URL. By calling preventDefault()
on the submit event, we can prevent this behavior.
React-Redux Form provides a handleSubmit()
function that is used to handle form submissions. We can pass an event handler to handleSubmit()
that calls preventDefault()
and then performs the necessary form submission logic.
import { Field, reduxForm } from 'redux-form';
const MyForm = props => {
const { handleSubmit } = props;
const onSubmit = event => {
event.preventDefault();
handleSubmit();
};
return (
<form onSubmit={onSubmit}>
<div>
<label htmlFor="firstName">First Name</label>
<Field name="firstName" component="input" type="text" />
</div>
<div>
<label htmlFor="lastName">Last Name</label>
<Field name="lastName" component="input" type="text" />
</div>
<button type="submit">Submit</button>
</form>
);
};
export default reduxForm({
form: 'myForm',
})(MyForm);
In the above example, we define a onSubmit()
event handler that calls preventDefault()
and then handleSubmit()
. We pass onSubmit
to the onSubmit
prop of our form.
Preventing the default behavior of form submissions with preventDefault()
is a common use case. By using handleSubmit()
in combination with an event handler that calls preventDefault()
, we can prevent the page from reloading or navigating to a new URL after a form submission.