在我的redux表单中,我试图使用从API接收并通过prop传递到组件中的数据初始化表单。现在,我的initialize函数可以接受并显示字符串(即,如果我传入"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));