Why build your forms with Redux Form – DailyJS – Medium

Why build your forms with #Redux Form:  #ReactJS

  • Why build your forms with Redux FormWhen I usually create forms for my React/Redux applications I tend to keep the value of the inputs on the application state, with little to no editing, (because my forms are usually simple), I never stopped to realize what that means.
  • It also receives an event handler that will update the state when the user interacts with it.It means that when the user types the letter “J” on the input, what is visible is not the same “J”, it may be an identical “J” that comes from the state, or whatever the event handler has put in there.Ok but, that doesn’t answer the first questionBy having all the application state in the JavaScript app and using controlled components we get a single source of truth and take full control over the application behavior.In the context of a form, our React component is able to:do instant validation;control the input value format;enable, disable, show or hide components given the state;handle dynamic inputs.Although it is highly recommended to use controlled components, it is also good to point the drawback that you will have to create event handlers for all your inputs and that may be a bunch of code that doesn’t make sense to the application.What about Redux Form?Now that is known why to keep the form data in the state and you reason if that makes sense for your application we can come back to our main subject.
  • It keeps track of all common application form state such as:The fields that are in the form;The values of each field;The focused field;If the field values are valid;The fields that the user have interacted with;If the form is being submitted;If is happening any asynchronous validation.Let’s take a look at a bit of code and see how to do a setup.Here we connect the form component to Redux by decorating it with the high-order component reduxForm.
  • It will also hand us the handleSubmit function, which will take care of the submission behavior.The Field component takes our input component as its props and acts as a container, bringing the application state to the input component and binding the event handlers to update the state in store.Look at the InputText component to see the props we receive from the Field.One important point is that it’s still a developer’s responsibility to write the form and inputs components, this way the library does not take the flexibility from you to manage the behaviors of your form the way you want, or even add custom ones.And to finish our integration we add a reducer that will handle the state changes of your form.Simple isn’t it.Just one more point.
  • Look that the default value of the input is defined when the high-order component reduxForm is called and comes to the input within the prop input and not from the react’s prop defaultValue, this way we guarantee that our form values are all represented in the application state.In summary, having all your form data in application state gives you control over its behavior and you can easily implement that on a React/Redux application with Redux Form.I have created a repository on GitHub with the implementation above.

When I usually create forms for my React/Redux applications I tend to keep the value of the inputs on the application state, with little to no editing, (because my forms are usually simple), I never…
Continue reading “Why build your forms with Redux Form – DailyJS – Medium”

How to Create a Redux Form with Validation and Initialized Values

Create a Redux-Form with validation and initialized values:  #ReactJS #Redux #JavaScript

  • Even better, with the latest release candidate (Redux Form 6.0.0rc3) and later, you can upgrade to the latest version of React and not have those pesky errors bring your project to a screeching halt.
  • This tutorial is going to help you set up a Redux Form that uses the latest syntax, and how to get that form set up with some simple validation and initial values.
  • Open up your console and use to install the Redux Form release candidate:

    Our tutorial will also be dependent on and , so make sure you have the latest versions of those installed as well.

  • So just underneath our dependencies, outside of the scope of the component, add the following:

    Handling the validation of our form can get messy if we do it “inline” as part of the render function of our component.

  • So to clean that up and make it reusable (plus easier to manage), create a that returns the input and logic for any errors that our field receives:

    Let’s also create a similar constant that will serve our input:

    Now we need to define the redux form required property inside the render function of the component.

With the latest version of redux form available we take a look at the best way to create a form that starts with pre-populated fields and validation.
Continue reading “How to Create a Redux Form with Validation and Initialized Values”