Search code examples
javascriptreactjsreduxredux-form

Redux-form 6.0+ change all field values


I am trying to change multiple values in redux-form. I have them in one object so basically I want to override redux-form state values with my object values. One way to accomplish it is to run this.props.reset() followed by multiple this.props.change() events for each property. It works but it sends too many events and is slow. The second thing I tried is to run this.props.initialize(data,false) and this works but validation isn't rerun so I can easily submit the form without validation. Is there a way to run one event to override form state with my object?


Solution

  • I am scared it is not possible. I had the same problem some time ago, and reading all the documentation in redux-form I got to conclude you have to use the action creators. Either change either autofill.

    If you use initialize, you are initializing the values, it is meant to use for async initialization of data, therefore, it does not validate as you say.

    Long ago in previous versions, they had a "defaultValue" concept. But they removed it. If you don't really need to have the last update, maybe it's worthy for you to check if that somehow would help you.

    NOTE

    I recommend you to follow this issue thread. They talk about it there.