У меня есть React Component, QuizContainer, подключенный к Redux для некоторых других данных о состоянии.
Этот компонент имеет компонент внутри, называемый "title".Я пытаюсь заставить функцию проверки работать для моих полей, но кажется, что она выводит только пустой объект и только при регистрации компонента.
Что-то не так с этим?
ОБНОВЛЕНИЕ: Полный компонент
class QuizContainer extends React.Component {
render() {
return (
<div className="contentpanel">
<div className="col-sm-6">
<form onSubmit={this.props.handleSubmit}>
<Field name="title" component={titleField} type="text" />
</form>
</div>
</div>
)
}
}
function mapStateToProps(state) {
return {
quiz: state.quiz,
mediaPanel: state.mediaPanel
}
}
function mapDispatchToProps(dispatch) {
return {
actions: bindActionCreators(quizActions, dispatch)
}
}
const titleField = ({input,
value,
label,
type,
meta: { touched, error, warning }}) => (
<div>
<input {...input} type={type} value={value}/>
{touched &&
((error && <span>{error}</span>) ||
(warning && <span>{warning}</span>))}
</div>
)
const validate = values => {
const errors = {};
if(values.title && values.title.length < 10){
errors.title = 'Title is missing';
}
return errors;
}
QuizContainer = connect(mapStateToProps, mapDispatchToProps)(QuizContainer);
export default reduxForm({
form: 'quiz',
validate
})(QuizContainer)