我刚刚开始使用redux-form,发现了一个我不确定如何解决的问题,虽然我认为它一定很容易,但我无法在任何地方找到答案。
问题:当状态发生变化时,字段的值(redux-form字段)不会更新。
实施例*:
const SimpleForm = (props) => {
return (
<Form onSubmit={props.handleSubmit}>
<Field value={props.amount} onChange={props.amountChanged}
name="amount" component={renderField} />
<input value={props.amount} type="text" onChange={props.amountChanged} />
</Form>
);
};
const renderField = (field) => (
<div className="input-row">
<input {...field.input} type="text" />
{field.meta.touched && field.meta.error && <span className="error">{field.meta.error}</span>}
</div>
)
export default reduxForm({ form: 'SimpleForm' })(SimpleForm);
预期结果:
两个输入中的初始值相同(等于props.amount)
当我更改其中一个输入中的值时,第二个输入会使用新值更新
实际结果:
输入中的初始值&#39;包裹&#39;未填充到redux-form字段
当我更改&#39; redux-form输入&#39; - &GT; &#39;正常输入&#39;更新但是 当我在“正常输入”中更改值时 - &GT; &#39; redux表单输入&#39;未更新
问题:
*请注意:onChange只是基本上触发由reducers处理的动作,并且状态更新为新的数量; &#39; renderField&#39;函数取自redux-form component usage page,而SimpleForm用于一些非常基本的状态&#39;容器