надеюсь, что кто-то знает, в чем проблема. У меня есть массив вроде:
let fields = [
{ name: 'email', type: 'email', placeholder: 'Email', component: FeedbackInput },
{ name: 'password', type: 'password', placeholder: 'Passwort', component: FeedbackInput }
];
И я хочу отобразить его в моей форме редукса через:
<form onSubmit={ handleSubmit(this.props.startAnimation.bind(this, 'animatedBtnConfig')) }>
<fieldset>
{ fields.map(field => <Field key={_.uniqueId('field_')} { ...field } component={ FeedbackInput } />) }
</fieldset>
<fieldset className="center">
<AnimatedButtonRedux />
</fieldset>
</form>
Итак, проблема в том, что форма изначально действительна, и я могу ввести только 1 символ. Затем он теряет фокус из поля ввода и должен снова щелкнуть по нему.
Та же проблема, когда я пытаюсь использовать "FieldArray":
<FieldArray name="authData" component={ DynamicFields } fields={ fields } />
Компонент динамических полей:
export default props => {
console.log("Dynamic Fields: ", props);
return (
<div>
{ props.fields.map(field => <Field key={_.uniqueId('field_')} { ...field } />) }
</div>
);
};
Вместо этого, когда я пытаюсь это сделать так:
<Field { ...fields[0] } />
<Field { ...fields[1] } />
<Field { ...fields[2] } />
Это работает хорошо.
Я не вижу никакой разницы в devtool, когда смотрю на DOM. Почему редукционная форма ведет себя так? Я не могу понять это. Я был бы очень признателен, если бы кто-то мог дать мне важный совет для решения этой проблемы!