在我的帖子中有一些遗留的元字段,我想显示在我的块中。我找到了设置元字段的文档,但没有找到如何显示它们。所以我尝试了这个:
export default function save( { attributes } ) {
const blockProps = useBlockProps.save();
const postType = useSelect(
( select ) => select( \'core/editor\' ).getCurrentPostType(),
[]
);
const [ meta, setMeta ] = useEntityProp( \'postType\', postType, \'meta\' );
const game_meta = meta[ \'_shortscore_game\' ];
return (
<p { ...blockProps } >
<h2><game_meta/></h2>
</p>
);
}
我收到以下错误:
钩子调用无效。钩子只能在函数组件的主体内部调用。发生这种情况的原因如下:1。您可能有不匹配的React和TheRender版本(如React DOM)2。你可能违反了《胡克3》的规则。同一应用程序中可能有多个React副本请参见https://reactjs.org/link/invalid-hook-call 有关如何调试和修复此问题的提示。
问题是什么?这是因为
const postType = useSelect(
( select ) => select( \'core/editor\' ).getCurrentPostType(),
[]
);
但为什么呢?它在编辑功能中的作用相同。