我正在尝试创建一个自定义块,并且我想使用 RichText。
我愿意(我已经缩短了代码)。但是找到任何使用 RichText 的示例,它对我来说失败了:
import { registerBlockType } from '@wordpress/blocks';
import { RichText, useBlockProps } from '@wordpress/block-editor';
...
edit: (attributes, setAttributes) => {
const blockProps = useBlockProps();
return (
<div>
Richtext:
<RichText />
</div>
);
},
我在控制台中看到的错误是:
TypeError:无法读取未定义的属性(读取“useBlockProps”)
我还运行/安装了这些软件包或它们的名称。 npm install @wordpress/editor -save npm install @wordpress/block-editor -save npm @wordpress/components -save
虽然问题比较老,但我找到了解决方法。
似乎没有找到所需的模块。但是当我打开具有相同模块的其他插件时,这些块显示正常。那么,也许构建文件夹的生成方式存在问题?
WordPress 现在提供了一个模块,允许您创建和使用独立块。我尝试过这种方法:
$ npx @wordpress/create-block@latest --variant dynamic
使用该命令,我在插件中生成了一个插件。重写了 init.php 文件,这样我的插件就能找到这些文件。后来一切顺利
这是 @wordpress/create-block 上 WordPress 开发人员参考的链接。
https://developer.wordpress.org/block-editor/reference-guides/packages/packages-create-block/
希望有帮助!