Javascript 错误:使用Formik和传递值时,对象作为React子对象无效
我正在用Formik创建一个表单。在警告说渲染道具很快就会贬值之后,我试图摆脱它,并将Javascript 错误:使用Formik和传递值时,对象作为React子对象无效,javascript,reactjs,react-props,formik,destructuring,Javascript,Reactjs,React Props,Formik,Destructuring,我正在用Formik创建一个表单。在警告说渲染道具很快就会贬值之后,我试图摆脱它,并将render={({values}=>{….}}移动到{({values}=>{….}}}(后者作为子对象而不是道具放置,但我得到以下错误: Error: Objects are not valid as a React child (found: object with keys {firstName, lastName, items}). If you meant to render a collectio
render={({values}=>{….}}
移动到{({values}=>{….}}}
(后者作为子对象而不是道具放置,但我得到以下错误:
Error: Objects are not valid as a React child (found: object with keys {firstName, lastName, items}). If you meant to render a collection of children, use an array instead.
我的理解是,当我传递({values})
时,我正在分解道具
,所以我假设值将是我的初始值
对象,然后我可以映射我的患者
数组以创建所需的任意多个组件
我想React将值
视为一个对象,因此他不高兴,因为他希望有一个Children元素,但我应该传递什么呢?我尝试了(…道具)
,但它也给了我一个错误
我感觉我在处理道具时犯了一个新手错误,但我无法准确指出:/
有什么想法吗
我的Formik组件如下所示:
{}
>
{({values})=>(
{values.patients.map((patient,i)=>(
))}
//…表格的其余部分
)}
在我看来,你正在做:
<Formik {...props}>
{fn}
</Formik>
{fn}
而不是做:
<Formik {...props}>
{fn()}
</Formik>
{fn()}
对我来说,你似乎在做:
<Formik {...props}>
{fn}
</Formik>
{fn}
而不是做:
<Formik {...props}>
{fn()}
</Formik>
{fn()}
我切换到使用FieldArray组件,这样做了我切换到使用FieldArray组件,这样做了谢谢。谢谢你的输入。你能详细说明一下吗?我看了Formik文档,看起来我正在按应该的方式使用它,但我的方法可能有问题记住,我想我错了。我看到你解决了你的问题,但是你试过只用(值)
来代替({values})
?谢谢。谢谢你的意见。你能详细说明一下吗?我看了Formik文档,看起来我用的是它应该用的方式,但我的方法可能有问题。没关系,我想我错了。我看到你解决了你的问题,但你试过只用(值)
来代替({values})
?