首页 > 解决方案 > 福米克 | 错误 useFormikContext formik 值未定义

问题描述

我有以下代码:

const {
     values,
     handleChange,
     setFieldValue,
     handleSubmit,
     isSubmitting,
     isValid 
} = useFormikContext();

我在 const comp 中有 formik 形式

const Body = () => {
 ...
 return(
 <Formik
   ....
   ....>
   {props=>{

     <Form>
       ... then some fields here... etc
       ...
       ...
     </Form>

    }}

 </Formik>
}

它给了我这个错误

TypeError:无法解构“对象(...)(...)”的属性“值”,因为它未定义。

我也检查了这个问题: Formik 2.0.1 useFormikContext formik values undefined

但是它甚至在 Body 中编写 useFormikContext() 也不起作用

标签: reactjsreact-hooksformik

解决方案


这个钩子只有在有一个可以从中拉取的父 Formik React Context 时才起作用。

资源

确保您在这样的事情useFormikContext的后代中使用:<Formik>

<Formik>
  <Form>
    <MyApp />
  </Form>
</Formik>
// MyApp.jsx

const MyApp = () => {
  const formik = useFormikContext();

  // do what you want with formik
}

推荐阅读