我现在正在摆弄古腾堡,我一直在尝试建立一个动态的区块。这是我正在使用的代码(为了清晰起见,省略了一些代码):
registerBlockType( \'my/block\', {
title: __( \'My Block\' ),
icon: \'email\',
category: \'common\',
attributes: {
menu: {
type: \'string\',
default: \'\',
},
},
edit: withAPIData( ( props ) => {
return {
menu_selected: `/menus/v1/menus/${ props.attributes.menu }` // custom endpoint
};
} ) ( ( props ) => {
const attributes = props.attributes;
const menu_selected = props.menu_selected.data;
const setMenu = value => {
props.setAttributes( { menu: value } );
};
console.log( JSON.stringify( menu_selected ) );
const ar = menu_selected.map( ( item ) => {
return (
<li className="menu_item">
{ item.post_title }
</li>
);
} );
}
} );
console.log( JSON.stringify( menu_selected ) )
返回以下字符串:[{"ID":3729,"post_title":"Item 1","post_type":"nav_menu_item"},
{"ID":3730,"post_title":"Item 2","post_type":"nav_menu_item"}]
但是当我打电话的时候map()
在menu_selected
var我得到一个“menu\\u selected is undefined”错误,我不明白为什么。有什么想法吗?
提前感谢