小编Min*_*fuc的帖子

React Formik Field onChange 事件句柄

我正在尝试在 React Formik 中处理 Field 组件的 onChange,但它不起作用。我还尝试通过以下方式在 Formik 组件之外处理它:

handleChange(e) {
  console.log('changing');
}
<Field type="radio" name="players" value="1" onChange={e => this.handleChange(e)}/>
Run Code Online (Sandbox Code Playgroud)

但我收到警告:

组件正在更改要控制的文本类型的不受控制的输入。输入元素不应从不受控制切换到受控制(反之亦然)。

现在我的代码如下所示:

<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>
Run Code Online (Sandbox Code Playgroud)

任何提示/想法?

javascript reactjs formik

11
推荐指数
2
解决办法
2万
查看次数

标签 统计

formik ×1

javascript ×1

reactjs ×1