Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs Formik |错误使用FormikContext Formik值未定义_Reactjs_React Hooks_Formik - Fatal编程技术网

Reactjs Formik |错误使用FormikContext Formik值未定义

Reactjs Formik |错误使用FormikContext Formik值未定义,reactjs,react-hooks,formik,Reactjs,React Hooks,Formik,我有以下代码: const { values, handleChange, setFieldValue, handleSubmit, isSubmitting, isValid } = useFormikContext(); 我有一个常量comp里面的formik表单 const Body = () => { ... return( <Formik .... ....> {props=>

我有以下代码:

const {
     values,
     handleChange,
     setFieldValue,
     handleSubmit,
     isSubmitting,
     isValid 
} = useFormikContext();
我有一个常量comp里面的formik表单

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

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

    }}

 </Formik>
}
const Body=()=>{
...
返回(
{props=>{
…然后是一些字段…等等
...
...
}}
}
它给我这个错误

TypeError:无法对“对象(…)(…)”的属性“值”进行分解,因为它未定义。 我还检查了这个问题:

然而,它甚至无法在体内编写UseFormicContext()

这个钩子只有在它可以从父Formik React上下文中提取时才起作用

请确保在
的后代中使用
useformiccontext
,如下所示:

<Formik>
  <Form>
    <MyApp />
  </Form>
</Formik>

我已经包装了所有东西,就像你给我看的那样,我得到了以下错误:TypeError:无法读取未定义的属性'hasOwnProperty'。这可能是因为我将它放入了一个模式:
{body}
确定,通过添加
解决了问题。错误:超过了最大更新深度。当组件在componentWillUpdate或componentDidUpdate内重复调用setState时,可能会发生这种情况。React限制嵌套更新的数量,以防止无限循环。我必须检查它
// MyApp.jsx

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

  // do what you want with formik
}