首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在WordPress中通过一个简单的自定义古腾堡块来获取唯一的id?

如何在WordPress中通过一个简单的自定义古腾堡块来获取唯一的id?
EN

Stack Overflow用户
提问于 2021-01-06 00:08:06
回答 1查看 828关注 0票数 0

我正在尝试为每个定制的gutenberg块获取一个唯一的id。我找到useInstanceId了。这是否可以与此语法一起使用?

代码语言:javascript
运行
复制
registerBlockType('custom/block', {
    title: 'Custom',
    
    edit() {
        return (<p>{unqiue-block-id}</p>)
    },
    save() {
        return (<p>{unqiue-block-id}</p>)
    },
});
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-07 22:35:39

你可以用props之外的clientId来解决这个问题。不幸的是,它只存在于编辑功能的道具中。因此,您需要将clientId作为额外的属性提供。如果我理解正确的话,我自己很难用useInstanceId完成这件事,因为你需要用HigherComponent来做。所以我选择了clientId解决方案。

我最初的想法是从here得到的

下面是使用clientId完成此任务所需的代码。

代码语言:javascript
运行
复制
registerBlockType('custom/block', {
    title: 'Custom',

    attributes: {
        yourId: {
            type: 'string',
        }
    },

    edit: props => {
        const {
            attributes: {
                yourId,
            },
            clientId,
            setAttributes,
        } = props;

        setAttributes({ yourId: clientId });

        return (
            <p>{yourId}</p>
        );
    },

    save: props => {
        const {
            attributes: {
                yourId,
            },
        } = props;

        return (
            <p>{yourId}</p>
        );
    },
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65582451

复制
相关文章

相似问题

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