gpt4 book ai didi

reactjs - Gutenberg/React 将动态属性传递给过滤函数

转载 作者:行者123 更新时间:2023-12-03 13:35:20 24 4
gpt4 key购买 nike

我正在使用Gutenberg block filters尝试将动态类名添加到编辑器中 block 的包装器组件中。

registerBlockType( name, {

title: __( 'My Block' ),

parent: [ 'myplugin/myblock' ],

category: 'common',

attributes: attributes,


edit( { attributes, setAttributes, className } ) {

const { someName } = attributes;

/* how can I pass someName from here to customClassName? */

return (
/* render something */
);
},

save( { attributes } ) {

const { someName } = attributes;

/* how can I pass someName from here to customClassName? */

return (
/* render something */
);
},
});



const customClassName = createHigherOrderComponent( ( BlockListBlock ) => {
return ( props ) => {
return <BlockListBlock { ...props } className={ someName } />;
};
}, 'customClassName' );

wp.hooks.addFilter( 'editor.BlockListBlock', 'myplugin/myblock', customClassName );

问题:常量 customClassName 中的 someName 未定义。

如何将 someName 从编辑或保存函数传递给常量 customClassName?它将在 wp.hooks.addFilter 中使用。

注意:我无法直接在编辑或保存功能中添加 wp.hooks.addFiltercustomClassName 。会造成重复。

最佳答案

这里有一个简单的错字:)

return <BlockListBlock className={ props.someName } { ...props } />;

NOTE: I would like to make props able to override the className if needed.

另一种解决方案:

return <BlockListBlock { ...props } className={ [props.someName, props.className] } />;

关于reactjs - Gutenberg/React 将动态属性传递给过滤函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54080541/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com