【发布时间】:2017-09-17 04:46:21
【问题描述】:
表单似乎没有用相应的模型属性填充字段。状态在触发时已经拥有selectedUser,因此enableReinitialize 设置无法修复它
import React from 'react'
import { connect } from 'react-redux'
import { Field, reduxForm } from 'redux-form'
import { editUser } from '../actions'
class UserDetailsEdit extends React.Component {
renderField(field) {
const { meta: { touched, error } } = field
const className = `form-group ${touched && error ? 'has-danger' : ''}`
return (
<div className={className}>
<label>{field.label}</label>
<input
className="form-control"
type="text"
{...field.input}
/>
<div className="text-help">
{touched ? error : ''}
</div>
</div>
)
}
render() {
const { handleSubmit } = this.props
return (
<form onSubmit={handleSubmit(this.onSubmit.bind(this))}>
<Field
label="First Name"
name="firstName"
component={this.renderField}
/>
<Field
label="Last Name"
name="lastName"
component={this.renderField}
/>
<div className="btn-toolbar" aria-label="...">
<button className="btn btn-default">Cancel</button>
<button type="submit" className="btn btn-primary">Submit</button>
</div>
</form>
)
}
}
UserDetailsEdit = reduxForm({
form: 'UserDetailsEdit'
})(UserDetailsEdit)
UserDetailsEdit = connect(
state => ({
initialValues: state.selectedUser.data
}),
{ editUser }
)(UserDetailsEdit)
export default UserDetailsEdit
我的控制台输出:
数据对象:
【问题讨论】:
-
数据对象是什么样的?
-
我添加了状态对象的截图
标签: reactjs redux redux-form