Прежде всего, насколько я помню, MediaUploadCheck не был официальным компонентом WP.Вот билет заявки
Используйте инструменты для разработки блоков, такие как create guten block , чтобы избавить себя от лишних хлопот с настройкой.Я не уверен насчет вашей очереди скриптов, скорее всего, вы добавляете свои ресурсы через неверный хук.
Это рабочая карта рецептов с компонентом mediaUpload.
const { __, setLocaleData } = wp.i18n;
const {
registerBlockType,
} = wp.blocks;
const {
RichText,
MediaUpload,
} = wp.editor;
const { Button } = wp.components;
setLocaleData( window.gutenberg_examples_05_esnext.localeData, 'gutenberg-examples' );
registerBlockType( 'gutenberg-examples/example-05-recipe-card-esnext', {
title: __( 'Example: Recipe Card (esnext)', 'gutenberg-examples' ),
icon: 'index-card',
category: 'layout',
attributes: {
title: {
type: 'array',
source: 'children',
selector: 'h2',
},
mediaID: {
type: 'number',
},
mediaURL: {
type: 'string',
source: 'attribute',
selector: 'img',
attribute: 'src',
},
ingredients: {
type: 'array',
source: 'children',
selector: '.ingredients',
},
instructions: {
type: 'array',
source: 'children',
selector: '.steps',
},
},
edit: ( props ) => {
const {
className,
attributes: {
title,
mediaID,
mediaURL,
ingredients,
instructions,
},
setAttributes,
} = props;
const onChangeTitle = ( value ) => {
setAttributes( { title: value } );
};
const onSelectImage = ( media ) => {
setAttributes( {
mediaURL: media.url,
mediaID: media.id,
} );
};
const onChangeIngredients = ( value ) => {
setAttributes( { ingredients: value } );
};
const onChangeInstructions = ( value ) => {
setAttributes( { instructions: value } );
};
return (
<div className={ className }>
<RichText
tagName="h2"
placeholder={ __( 'Write Recipe title…', 'gutenberg-examples' ) }
value={ title }
onChange={ onChangeTitle }
/>
<div className="recipe-image">
<MediaUpload
onSelect={ onSelectImage }
allowedTypes="image"
value={ mediaID }
render={ ( { open } ) => (
<Button className={ mediaID ? 'image-button' : 'button button-large' } onClick={ open }>
{ ! mediaID ? __( 'Upload Image', 'gutenberg-examples' ) : <img src={ mediaURL } alt={ __( 'Upload Recipe Image', 'gutenberg-examples' ) } /> }
</Button>
) }
/>
</div>
<h3>{ __( 'Ingredients', 'gutenberg-examples' ) }</h3>
<RichText
tagName="ul"
multiline="li"
placeholder={ __( 'Write a list of ingredients…', 'gutenberg-examples' ) }
value={ ingredients }
onChange={ onChangeIngredients }
className="ingredients"
/>
<h3>{ __( 'Instructions', 'gutenberg-examples' ) }</h3>
<RichText
tagName="div"
multiline="p"
className="steps"
placeholder={ __( 'Write the instructions…', 'gutenberg-examples' ) }
value={ instructions }
onChange={ onChangeInstructions }
/>
</div>
);
},
save: ( props ) => {
const {
className,
attributes: {
title,
mediaURL,
ingredients,
instructions,
},
} = props;
return (
<div className={ className }>
<RichText.Content tagName="h2" value={ title } />
{
mediaURL && (
<img className="recipe-image" src={ mediaURL } alt={ __( 'Recipe Image', 'gutenberg-examples' ) } />
)
}
<RichText.Content tagName="h2" className="ingredients" value={ ingredients } />
<RichText.Content tagName="div" className="steps" value={ instructions } />
</div>
);
},
} );
Ваш компонент mediaUloadотсутствует идентификатор носителя, обязательная функция onSelect , а также вы выводите значение в поисковой консоли.