Начальные значения для Redux-формы отображаются только в жестком коде, но не из реквизита / состояния - PullRequest
1 голос
/ 07 марта 2019

В моей избыточной форме я пытаюсь инициализировать форму с данными, которые я получаю от API и передаю в компонент через реквизиты.Прямо сейчас моя функция инициализации может принимать и отображать строки (то есть, если я передаю "questionText: "some text", это заполняет вопросТекст <Field>). Однако, когда я передаю в состоянии реквизиты, которые я принимаю, ничего не заполняется.

Когда я делаю "questionText: this.state.offerContent.name", ничего не отображается в <Field>.

Я пытаюсь выяснить, почему это происходит. Вот некоторый соответствующий код.

   constructor(props) {
      super(props)
      this.state = {
        offerContent: ''
      }

  componentDidMount(){
      this.props.offerCallBack()
        .then(c => {
             this.setState({
               offerContent: c,
             });
        })
        .catch(error => {
          console.log(error);
         });
         this.handleInitialize();

        }

        handleInitialize() {
          const initData = {
            "questionText": this.props.offerContent.name,
          };

          this.props.initialize(initData);
        }

              <Field
                  name="questionText"
                  type="text"
                  id="questionText"
                  component={renderField}
                  label="Question Text"
              />

const form = reduxForm({
  form: 'offerquestion',
  enableReinitialize: true

});

function mapStateToProps(state) {
  return {
    offerContent: state.offerContent
}
}

export default connect(mapStateToProps)(form(OfferExample));

** это то, что происходит, когда я console.log (this.props) в этом компоненте OfferExample: enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...