данные редукционной формы не сохраняются после componentUnMounts - PullRequest
0 голосов
/ 10 января 2019

У меня есть компонент, в котором у меня есть форма мастера, на первой вкладке будут заданы сведения о отметке учащегося, а на второй вкладке - основные сведения об учащемся. так из cookie я получаю имя пользователя на второй вкладке, как автозаполнение.

поэтому весь мой компонент состоит из index.js, меток wizard, деталей wizardform.

index.js

render(){
  return(
   <WizardFormMarks initialValues={this.props.initialValues}/>
   <WizardFormDetails initialValues={this.props.initialValues}/>
   ) 
}



 const mapStateToProps = (state) => {
  let initialValuesCopy = state.initialValues || {}
  initialValuesCopy.username = extractValue("username") // from cookie
  return {
    initialValues: initialValuesCopy
  };
}



const mapDispatchToProps = (dispatch) => ({
     // fetching the user details since same component is used for editing also , so to fetch details this api will perform only if in route params are there like localhost:3000/student/test1, 
    })

Student = connect(
  mapStateToProps,
  mapDispatchToProps
)(Student);

   export default Student

wizardformmarks.js

export default reduxForm({
  form: 'wizard', //                 
  destroyOnUnmount: false, 
  forceUnregisterOnUnmount: true,
  enableReinitialize: true
})(
  connect(
    mapStateToProps,
    mapDispatchToProps
  )(WizardFormMarks)
);

wizardformdetails.js

render(){
  return(
   <div>
     <Field
       name="username"
       type="text"
       component={customField}
       label="Enter your name.."
       disabledStatus={true}
     />
  </div>
 )
}

export default reduxForm({
  form: 'wizard', 
  destroyOnUnmount: false, 
  forceUnregisterOnUnmount: true, 
})(WizardFormDetails);

Также один и тот же компонент используется для редактирования и создания. Редактировать, создавать и во время редактирования, если я перейду к другому компоненту, данные сохранятся. Но при создании данные не сохраняются, если я перехожу к другому компоненту и возвращаюсь. Даже если destroyOnUnmount установлено как false .

Как я могу сохранить данные. Кроме того, исходное состояние по умолчанию - «». вот почему я проверяю и назначаю объект.

...