Поскольку и файл src, и строка, закодированная в base 64, содержат формат, вы можете просто проверить следующее в MyComponent или, как если бы вы знали тип изображения, перед тем как передать его в качестве опоры своему MyComponent.
Если вашСтрока base 64 похожа на следующую строку str.include напрямую работает, иначе вы угадываете тип mime из данных base64 ( data: image / type; base64, , который не будет содержать эту часть).
'data:image/png;base64,iVBORw0KGgoAA...5CYII='
'data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjUxMn..'
Остальное
function guessImageMime(data){
if(data.charAt(0)=='P'){
return "svg";
} else if(data.charAt(0)=='/'){
return "jpeg";
} else if(data.charAt(0)=='R'){
return "gif";
} else if(data.charAt(0)=='i'){
return "png";
}
}
if(this.props.src.includes('svg') || guessImageMime(this.props.src) === 'svg') {
//it is svg
} else {
//it is image in other format
}