В моей избыточной форме я пытаюсь инициализировать форму с данными, которые я получаю от 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: