У меня есть реактивный проект, где у меня есть компонент, который в данный момент показывает картинку. Также есть кнопка:
import React from 'react';
class Pokemon extends React.Component {
state = {
text: "./blank.png"
};
handleButton = (e) => {
console.log("e: ",e);
this.setState( {
text: "./pikachupic.png"
});
};
render() {
return (
<div class="container-fluid" >
<div class="row">
<div class="col" style={{ background: "gray", color: "white" }}>
<button onClick={this.handleButton}>Show Pokemon</button>
</div>
<div class="col" style={{ background: "black", color: "white" }}>
<h3>Pokemon Description</h3>
<img src={require("./pikachupic.png")}/>
</div>
</div>
</div>
);
}
}
export default Pokemon;
Однако я хочу начать с пустого изображения, и как только пользователь нажмет кнопку, появится изображение покемона. Итак, у меня есть состояние, которое начинается с «./blank.png» и, как только кнопка нажимается, она меняется на «./pikachupic.png». Я попытался изменить следующую строку
<img src={require("./pikachupic.png")}/>
на эту:
<img src={require(this.state.text)}/>
, но после внесения изменения выдает ошибки.
Ошибка: не удается найти модуль './blank.png'
Каков правильный синтаксис для присвоения значения this.state.text источнику тега img?