上传代码后如何避免古腾堡崩溃?

问题描述

我对古腾堡区块有一个疑问:由于区块结构的原因,每次更新后端或前端的区块渲染时,区块都会崩溃,因为保存到数据库的数据与那些更新的块。 是否有解决此问题的方法,因为如果我按计划在编辑器和多个帖子中多次使用块,则在第一次更新时,我应该手动更新所有帖子,当然这是胡说八道。

谢谢

解决方法

如果您已经创作了一个块并正在发布新版本,则建议您弃用较旧的块版本。如果可以将旧块内容转换为更新的渲染内容,请提供migrate函数和/或可选地提供isEligible函数来处理转换(例如,请参见Block Deprecation in the Block Editor Handbook)。如果您遵循此路径,则无需更新所有使用屏蔽的帖子-更新将得到妥善处理。

或者,如果您正在对未发布的块进行活跃的开发/测试,其中edit()中的输出频繁更改,则可以通过以下方式暂时禁用save()函数:

save(){ return  null }

一旦您完成了edit()函数呈现的内容,请记住更新save()函数以使其匹配,这样就不会出现validation errors

同样值得注意的是,如果您的阻止目的仅是saving meta values到数据库,那么save函数也应该返回null。