function updateFeaturedImagePreview( image ) {
		const currentImageId = select( 'core/editor' ).getEditedPostAttribute( 'featured_media' );
		if ( currentImageId !== image.id ) {
			return;
		}
		preloadImage( image.url ).then( () => {
			const currentImage = select( 'core' ).getMedia( currentImageId );
			const updatedImage = {
				...currentImage,
				media_details: {
					height: image.height,
					width: image.width,
				},
				source_url: image.url,
			};
			dispatch( 'core' ).receiveEntityRecords( 'root', 'media', [ updatedImage ], null, true );
		} );
	}
function updateFeaturedImagePreview( image ) {
		const currentImageId = select( 'core/editor' ).getEditedPostAttribute( 'featured_media' );
		if ( currentImageId !== image.id ) {
			return;
		}
		preloadImage( image.url ).then( () => {
			const currentImage = select( 'core' ).getMedia( currentImageId );
			const updatedImage = {
				...currentImage,
				media_details: {
					height: image.height,
					width: image.width,
				},
				source_url: image.url,
			};
			dispatch( 'core' ).receiveEntityRecords( 'root', 'media', [ updatedImage ], null, true );
		} );
	}
function updateFeaturedImagePreview ( image ) { const currentImageId = select ( 'core/editor' ) . getEditedPostAttribute ( 'featured_media' ) ; if ( currentImageId !== image . id ) { return ; } preloadImage ( image . url ) . then ( ( ) => { const currentImage = select ( 'core' ) . getMedia ( currentImageId ) ; const updatedImage = { ... currentImage , media_details : { height : image . height , width : image . width , } , source_url : image . url , } ; dispatch ( 'core' ) . receiveEntityRecords ( 'root' , 'media' , [ updatedImage ] , null , true ) ; } ) ; }
To update the featured image preview we need to manually modify the image in the `core` state. Though, there is no direct mechanism to also invalidate its cache and re-render the preview. As a workaround, we call `receiveEntityRecords`, normally used to update the state after a fetch, which has a handy `invalidateCache` parameter that does exactly what we need.
To update the featured image preview we need to manually modify the image in the core state . Though there is no direct mechanism to also invalidate its cache and re - render the preview . As a workaround we call receiveEntityRecords normally used to update the state after a fetch which has a handy invalidateCache parameter that does exactly what we need .