我有一个带导入的插件
import { __experimentalUseInnerBlocksProps as useInnerBlocksProps } from '@wordpress/block-editor';但是它不适用于最新的古腾堡插件11.9,因为这个useInnerBlocksProps不再是实验性的。
所以我可以用
import { useInnerBlocksProps } from '@wordpress/block-editor';但是,如果没有古腾堡插件,它将无法适用于旧版本或WordPress安装。
使其与这两种场景兼容的正确方法是什么?如果存在,如何导入__experimentalUseInnerBlocksProps,如果没有,如何直接导入useInnerBlocksProps?
发布于 2021-11-13 12:50:51
好吧,这可能是我能找到的最简单的解决办法,但是如果有人有更好的主意,那就在这里发布吧;)
import {
__experimentalUseInnerBlocksProps,
useInnerBlocksProps,
} from '@wordpress/block-editor';
if( typeof useInnerBlocksProps == 'undefined' ){
var compatibleUseInnerBlocksProps = __experimentalUseInnerBlocksProps;
}else{
var compatibleUseInnerBlocksProps = useInnerBlocksProps;
}compatibleUseInnerBlocksProps变量中记住它useInnerBlocksProps替换所有其他出现的compatibleUseInnerBlocksProps。发布于 2022-07-15 10:39:34
我使用了接受答案的逻辑,它工作得很好。
但我的实现方式有点不同。我将useInnerBlocksProps导入为nonExperimentalUseInnerBlocksProps。这样,我可以在代码中使用useInnerBlocksProps的地方继续使用它。这将使将来更容易移除对__experimentalUseInnerBlocksProps的支持。
import {
useInnerBlocksProps as nonExperimentalUseInnerBlocksProps,
__experimentalUseInnerBlocksProps,
} from '@wordpress/block-editor';
const useInnerBlocksProps =
typeof nonExperimentalUseInnerBlocksProps == 'undefined'
? __experimentalUseInnerBlocksProps
: nonExperimentalUseInnerBlocksProps;https://wordpress.stackexchange.com/questions/398071
复制相似问题