当前位置: 首页 > 面试题库 >

在React中如何在Formik中使用自定义输入?

柴星津
2023-03-14
问题内容

我正在尝试在Formik中使用DatePicker。但是,当我单击DatePicker的日期时,其表单值不会更改。相反,我得到了这个错误:

未捕获到的TypeError:e.persist不是Formik._this.handleChange上的函数(formik.es6.js:5960)

我简化代码,下面的代码

const SomeComponent = () => (
    <Formik
        render={({
            values,
            handleSubmit,
            handleChange,
            setFieldValue
        }) => {
            return (
                <div>
                    <form onSubmit={handleSubmit}>
                        <DatePicker
                            name={'joinedAt'}
                            value={values['joinedAt']}
                            onChange={handleChange}
                        />
                    </form>
                </div>
            )
        }}
    />
)

我用谷歌搜索了一些文档,https://github.com/jaredpalmer/formik/issues/187和https://github.com/jaredpalmer/formik/issues/86

所以我尝试如下所示,但是没有用。

 ...setFieldValue

 <DatePicker
   name={'joinedAt'}
   value={values['joinedAt']}
   onChange={setFieldValue}
 />

问题答案:

我这样解决

<DatePicker
   name={'joinedAt'}
   value={values['joinedAt']}
   onChange={e => setFieldValue('joinedAt', e)}
/>

2020-03-08更新:

您可以e.target.value在setFieldValue的第二个道具上使用,具体取决于您的自定义输入设计。感谢布兰登。



 类似资料:
  • 问题内容: 我从formik库开始进行反应,但是我无法弄清道具handleChange和handleBlur的用法。 根据docs的说法,handleBlur可以设置为a上的prop ,然后必须手动向下传递到。 我已经尝试过了,但是没有成功:(为了更加清晰,我保留了关于handleBlur的代码) 这种方法有什么问题?实际上应该如何使用handleBlur和handleChange? 问题答案:

  • 我正在尝试创建一个自定义令牌,以使用用户的用户名登录。我看过一些文件https://firebase.google.com/docs/auth/admin/create-custom-tokens#web,通过如何为用户提供用户名而不是电子邮件登录链接到我?,我发现我需要补充 使用Firebase Admin SDK创建自定义令牌 和 在客户端上使用自定义令牌登录 目前我可以看到基于留档需要包含什

  • 问题内容: 当前行为 我正在尝试此解决方案https://github.com/jaredpalmer/formik/issues/73#issuecomment-317169770但它总是让我返回 当我尝试有功能。 有解决方案的人吗? -Formik版本:最新-React版本:v16-操作系统:Mac OS 问题答案: 找到了罪魁祸首。 Formik道具不再有。应该将其更改为

  • 我刚刚用打字稿开始了一个新的反应项目,在功能组件中定义自定义道具时遇到了困难。 我查找了如何定义自定义道具,并找到了一种定义接口的方法,该接口详细描述了我传递给函数的道具类型,但是当我试图在我的主应用程序上运行它时,我得到一个错误消息 类型“{ digit: number; }”不能分配给类型“IntrinsicAttributes”。属性“数字”在类型“内部属性”上不存在。TS2322 我的代码

  • 如何在useEffect中使用自定义方法??如果我创建了许多组件,它们使用相同的fetch函数,我应该在每个组件的效果中声明fetch函数吗??这个函数做同样的工作?? 据我所知,如果我想在use效应中使用组件的状态,我应该声明并调用use效应中的函数,就像例子1一样。 但是我想声明其他js文件的函数。因为它被称为其他组件。 根据Dan Abramov(https://overreacted.io

  • 我在整个React本机应用程序中使用自定义字体。我使用react-native-link命令链接了它们。除了Android的Webview组件之外,它们在任何地方都可以工作。它在iOS Webview中正常工作。 我已经尝试使用url("file:///android_assets/fonts/Lohit-Gujarati")在webview css中创建一个字体面。它不起作用。导入谷歌字体css