古腾堡的街区不是这样的。块代码完全在块编辑器中运行,并返回两个结果:
要在编辑器UI中显示的组件,这些组件在渲染时生成HTML并保存到数据库中。第二个组件是这里的关键部分,最终产品只是一个HTML字符串。
因此,如果您想在前端使用React来处理块,您必须自己实现它,就像您想在短代码实现中使用React一样。内容就是内容,Gutenberg并不意味着前端会引入一些React代码,它仍然只是静态HTML,与以前一样。
这意味着要为块的react实现保存一个入口点,以及作为道具传入所需的所有属性,一个用于水合/创建块的迷你react应用程序,以及一些通过搜索这些入口点并使用该初始值旋转react组件来引导它的代码React.render
注册块时可以使用API工具来确保在适当的时间加载块前端JS资产,这将是一个很好的后续问题。
TLDR: A blocks JS in the editor, and the frontend have no connection other than the HTML string that gets saved in the database
如果确实希望在前端为块构建React实现,并且希望使用wp元素库,则需要在获取脚本时将该库声明为依赖项