#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, поэтому форма была полностью понятной.