首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WordPress古腾堡反应使__experimentalUseInnerBlocksProps不再是经验金属

WordPress古腾堡反应使__experimentalUseInnerBlocksProps不再是经验金属
EN

WordPress Development用户
提问于 2021-11-12 23:00:10
回答 2查看 52关注 0票数 2

我有一个带导入的插件

代码语言:javascript
复制
import { __experimentalUseInnerBlocksProps as useInnerBlocksProps } from '@wordpress/block-editor';

但是它不适用于最新的古腾堡插件11.9,因为这个useInnerBlocksProps不再是实验性的。

所以我可以用

代码语言:javascript
复制
import { useInnerBlocksProps } from '@wordpress/block-editor';

但是,如果没有古腾堡插件,它将无法适用于旧版本或WordPress安装。

使其与这两种场景兼容的正确方法是什么?如果存在,如何导入__experimentalUseInnerBlocksProps,如果没有,如何直接导入useInnerBlocksProps?

EN

回答 2

WordPress Development用户

回答已采纳

发布于 2021-11-13 12:50:51

好吧,这可能是我能找到的最简单的解决办法,但是如果有人有更好的主意,那就在这里发布吧;)

代码语言:javascript
复制
import {
    __experimentalUseInnerBlocksProps,
    useInnerBlocksProps,
} from '@wordpress/block-editor';

if( typeof useInnerBlocksProps == 'undefined' ){
    var compatibleUseInnerBlocksProps = __experimentalUseInnerBlocksProps;
}else{
    var compatibleUseInnerBlocksProps = useInnerBlocksProps;
}
  • 因此,基本上我可以同时导入(实验和非实验),没有任何错误。
  • 如果新的类型已经被支持,我就可以做简单的类型测试了。
  • 如果支持它,我将在compatibleUseInnerBlocksProps变量中记住它
  • 否则我会记得以前的实验
  • 然后,我需要用代码中的useInnerBlocksProps替换所有其他出现的compatibleUseInnerBlocksProps
票数 1
EN

WordPress Development用户

发布于 2022-07-15 10:39:34

我使用了接受答案的逻辑,它工作得很好。

但我的实现方式有点不同。我将useInnerBlocksProps导入为nonExperimentalUseInnerBlocksProps。这样,我可以在代码中使用useInnerBlocksProps的地方继续使用它。这将使将来更容易移除对__experimentalUseInnerBlocksProps的支持。

代码语言:javascript
复制
import {
  useInnerBlocksProps as nonExperimentalUseInnerBlocksProps,
  __experimentalUseInnerBlocksProps,
} from '@wordpress/block-editor';

const useInnerBlocksProps =
  typeof nonExperimentalUseInnerBlocksProps == 'undefined'
    ? __experimentalUseInnerBlocksProps
    : nonExperimentalUseInnerBlocksProps;
票数 0
EN
页面原文内容由WordPress Development提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://wordpress.stackexchange.com/questions/398071

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档