Форма Redux не инициализируется начальными значениями

#javascript #redux-form

#javascript #redux-форма

Вопрос:

У меня есть приложение, использующее React Router со страницей атрибутов редактирования, содержащей <AttributeForm> . Форма на этой странице правильно отображается initialValues , переданная ей.

В верхней части страницы есть кнопка Clone, которая в основном перенаправляет пользователя на страницу create attribute. Эта страница также содержит <AttributeForm> , и я хочу предварительно заполнить значения формы на основе атрибута, который пользователь хочет клонировать. Проблема в том, что initialValues они не отображаются здесь в форме. Я думаю, что это должно что-то делать с прямым переходом со страницы, содержащей форму, на другую страницу, содержащую ту же форму, но idk. Я могу видеть initialValues правильно console.log(this.props.initialValues) , но они не отображаются.

Я также включил повторную инициализацию, не помогло.

 const selector = formValueSelector("AttributeForm")
const mapStateToProps = state => ({
  sourcesArray: getDataSourcesArrayForSelect(state, true),
  dataType: selector(state, "data_type")
})

AttributeForm = connect(mapStateToProps)(AttributeForm)

export default reduxForm({
  form: "AttributeForm",
  touchOnBlur: false,
  enableReinitialize: true
})(AttributeForm)
  

Ответ №1:

Решается установкой destroyOnUnmount: false . Он уничтожал состояние во время смены страницы сразу после initialValues установки new, поэтому форма была полностью понятной.