问题描述
当我的块被删除、添加或重新排序时,我想做点什么。我怎样才能做到这一点?是否有某种解决方法?
解决方法
当不同的事情发生时,WordPress 会触发很多事件。查看 here 以获取有关其工作原理的文档;并且有一个 list of hooks,其中一些可能对您的目的感兴趣。
,WordPress 文档在某些方面可能严重缺乏,因此您需要进行一些挖掘以找到一些并不总是最清楚的答案。
一个关于如何“监听”来自父块的更新的简单示例可能是:
const { attributes,clientId,isSelected,className,setAttributes } = props;
const parentClientId = select('core/block-editor').getBlockHierarchyRootClientId(clientId);
const { data } = useSelect((select) => {
if (parentClientId) {
return {
data: select('core/block-editor').getBlockAttributes(parentClientId),};
} else {
return null;
}
});
此处 data
将保存来自父块的属性。可能有更简洁的方法来解决这个问题,但希望这会为您指明正确的方向。