首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >异步/等待Formik?

异步/等待Formik?
EN

Stack Overflow用户
提问于 2019-03-08 06:49:49
回答 2查看 7.9K关注 0票数 6

我正在使用formik,我想知道如何在onSubmit中使用async/await

代码语言:javascript
复制
<Formik
  initialValues={{ email: '' }}
  onSubmit={(values, { setSubmitting }) => {
    // how to do async/await here.
  }}
  validationSchema={Yup.object().shape({
    email: Yup.string()
      .email()
      .required('Required'),
  })}
>
  {props => {
    const {
      values,
      touched,
      errors,
      dirty,
      isSubmitting,
      handleChange,
      handleBlur,
      handleSubmit,
      handleReset,
    } = props;
    return (
      <form onSubmit={handleSubmit}>
        <label htmlFor="email" style={{ display: 'block' }}>
          Email
        </label>
        <input
          id="email"
          placeholder="Enter your email"
          type="text"
          value={values.email}
          onChange={handleChange}
          onBlur={handleBlur}
          className={
            errors.email && touched.email ? 'text-input error' : 'text-input'
          }
        />
        {errors.email &&
          touched.email && <div className="input-feedback">{errors.email}</div>}

        <button
          type="button"
          className="outline"
          onClick={handleReset}
          disabled={!dirty || isSubmitting}
        >
          Reset
        </button>
        <button type="submit" disabled={isSubmitting}>
          Submit
        </button>

        <DisplayFormikState {...props} />
      </form>
    );
  }}
</Formik>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-03-13 06:17:59

像这样的东西是你要找的吗?

代码语言:javascript
复制
onSubmit={ async (values, { setSubmitting }) => {
    await ...
    setSubmitting(false)
}}
票数 9
EN

Stack Overflow用户

发布于 2019-11-29 09:14:44

作为替代,您也可以创建一个单独的函数。

代码语言:javascript
复制
async function _handleSubmit(values) {
   await...
}


onSubmit={(values, { setSubmitting }) => {
    _handleSubmit(values)
    setSubmitting(false)
}}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55054058

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档