Я хочу показать строку ошибки между тегами типографики, если есть ошибка. Проблема в том, что когда я записываю эту ошибку в консоль, она отображается там, но когда я использую ту же переменную между тегами типографии, она не показывает никакого значения.
Для начала я попытался объявить переменную в методе рендеринга. Затем я вызвал handle_image_error из onChange типа ввода.
handle_image_error = e => {
if (1) {
return "Size must be lower than 3MB";
}
};
render() {
let image_error = 0;
return (
<div>
<input
accept="image/*"
type="file"
id="image_upload"
style={{ display: "none" }}
onChange={e => {
image_error = this.handle_image_error(e);
console.log("image_error", image_error);
}}
/>
<label htmlFor="image_upload">
<Button variant="contained" color="primary" component="span">
Upload Photo
</Button>
</label>
<Typography>{image_error}</Typography>
</div>
);
}
Я хочу показать ошибку, возвращаемую функцией handle_image_error, в теге typography. Я изменил условие функции, чтобы она всегда была верной для целей отладки. Вот ссылка на песочницу https://codesandbox.io/s/silly-shape-58ilo или это может быть я не уверен, как поделиться песочницей https://codesandbox.io/s/silly-shape-58ilo?fontsize=14