Payload CMS自定义字段组件中使用useField触发TypeError错误的问题求助
Payload CMS自定义字段组件中使用useField触发TypeError错误的问题求助
我正在为Payload CMS的数组字段开发一个自定义字段组件,参考官方文档的useField钩子用法后,尝试用它来管理字段取值,但遇到了无法解决的运行时错误。
以下是我的自定义字段组件代码:
'use client' import { ArrayFieldClientProps } from 'payload' import { useField } from '@payloadcms/ui' export default function SeriesProductParameterValueField({ path }: ArrayFieldClientProps) { console.log('path', path) const { value, setValue } = useField({ path }) return <div>SeriesProductParameterValueField</div> }
然而,其中const { value, setValue } = useField({ path })这一行触发了如下错误:
Unhandled Runtime Error: TypeError: Cannot destructure property 'config' of '(0 , _chunk_3MXUY6XL_js__WEBPACK_IMPORTED_MODULE_10__.b)(...)' as it is undefined.
为了提供上下文,这里附上我的集合配置片段:
{ name: 'products', type: 'array', fields: [ { type: 'row', fields: [ { name: 'title', type: 'text', required: true, }, { name: 'image', type: 'upload', relationTo: 'media', required: true, }, ], }, ], }, { name: 'parameterGroups', type: 'array', fields: [ { name: 'title', type: 'text', required: true, localized: true, }, { name: 'parameters', type: 'array', fields: [ { name: 'parameter', type: 'relationship', relationTo: 'parameters', required: true, }, { name: 'values', type: 'array', fields: [ { name: 'productId', type: 'text', required: true, unique: true, }, { name: 'value', type: 'text', localized: true, }, ], admin: { components: { Field: '/components/payload/series-product-parameter-value-field', }, }, }, ], }, ], },
我有几个疑问想请教大家:
- 为什么
useField会抛出这个类型错误? - 是不是我在
useField的使用方式或者集合配置里的组件路径设置上存在问题? - 有没有关于在Payload CMS中实现自定义字段组件的详细指导或者实用示例?
提前感谢大家的帮助!
备注:内容来源于stack exchange,提问作者Adam Sucharda
相关产品推荐
相关产品推荐

