我正在尝试为 React Formik 中的 Field 组件处理 onChange,但它不起作用。我还尝试通过以下方式在 Formik 组件之外处理它:
handleChange(e) {
console.log('changing');
}
<Field type="radio" name="players" value="1" onChange={e => this.handleChange(e)}/>
但我收到警告:
组件正在更改要控制的文本类型的不受控输入。输入元素不应从不受控切换到受控(反之亦然)。
现在我的代码如下所示:
<Formik
onChange={() => {
console.log('changing');
}}
onSubmit={(values) => {
console.log('submitted');
}}
>
{({ isSubmitting, handleChange }) => (
<Form>
<InputWrapper>
<span>1</span>
<Field type="radio" name="players" value="1" onChange={handleChange}/>
<span>2</span>
<Field type="radio" name="players" value="2" onChange={handleChange}/>
</InputWrapper>
<button type="submit" disabled={isSubmitting}>
{isSubmitting ? 'Loading..' : 'Start'}
</button>
</Form>
)}
</Formik>
任何提示/想法?