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”

Functional Components in React – ziv zamechek – Medium

Functional Components in React  #javascript #react #reactjs

  • We are setting the state with key term and the new value of the input.
  • The component renders, the value of the input is set to retrieve the value from this.state.term so its initial value is an empty string.
  • Whenever setState is called the event will re render and the value of the input will receive the new value of this.state.term finally the component finishes rendering and the new value of the input is finally visible on the screen.
  • It also allows us to read the value of the input much more easily.The most parent component that is concerned with a piece of information to be responsible for fetching it.
  • Then the callback function with data will be called with the list of videos.The object that we are passing has a key of videos and the value is videos that is passed as an argument.We can condense this using ES6 when key and variable name are the same we can just use the value name which is videos in this case, for example:this.setState({ videos: videos }); is the same as: this.setState({ videos });So the list of videos on the state starts as an empty array but the instance of the component that is rendered kicks off a search when the search is complete it will update the value with the new list of videos.Thank You

So basically the function onChange will run because it is the event handler. We are setting the state with key term and the new value of the input. Whenever we update the state it will cause the…
Continue reading “Functional Components in React – ziv zamechek – Medium”