我可能使用了这个错误,但我试图使用一个不能正常工作的initialValues来加载一个redux表单。我有一个容器组件,它呈现一个表单:
class ProductScreen extends Component {
render() {
return (
<ProductForm {...this.props} {...this.state} />
)
}
}
const mapStateToProps = (state) => {
return {
initialValues: {name: 'Ferrari'}
}
}
export default connect(mapStateToProps, mapDispatchToProps)(ProductScreen)
对于ProductForm组件,render()
方法包含一个加载简单组件的Field。请注意,它是名为name
的单个字段。我通常的方式初始化reduxForm,但是当屏幕加载时,表单字段不会被预期的&#34; Ferrari&#34;填充。值:
// importing functions from redux-form
import { Field, reduxForm } from 'redux-form/immutable'
// inside the render() function
<Field component={renderInput} name='name' ref='name' placeholder='Product name' />
const ProductForm = reduxForm({
form: 'createProduct',
enableReinitialize: true
})(ProductFormComponent)
const renderInput = ({input, ...inputProps}) => {
return (
<TextInput {...inputProps} {...input} />)
}
在React原生调试器中,如果我调出renderInput
功能,我可以看到&#39;法拉利&#39;值inputProps.meta.initial
但不在input.value
答案 0 :(得分:1)
我认为你是在错误的地方归还它。 请尝试以下代码段:
const ProductForm = reduxForm({
form: 'createProduct',
initialValues: {name: 'Ferrari'},
enableReinitialize: true
})(ProductFormComponent)