** мне нужен идентификатор конкретного изображения в Onclick в reactjs. у нас есть массив со всеми данными об изображениях, т.е. images []. Как передать идентификатор этого конкретного изображения, чтобы удалить его в функцию deleteimage. любые предложения или советы будут приветствоваться **
class Image extends Component {
constructor() {
super();
this.state = { images: [] };
}
componentDidMount() {
let result = apiGateway.getImages();
if (result != null) {
result.then((value) => {
this.setState({ images: value.data.data });
});
}
}
deleteImage=()=>{
let result = apiGateway.removeImage(??);
}
renderImage(value,index){
let str = value.imagePath.split('/').pop();
let string = str.slice(0,-5);
return(
<div key = {index}>
<p>Title: {value.title}</p>
<p>Description: {value.description}</p>
<button onClick = {this.deleteImage}>DELETE</button>
<button>UPDATE</button>
<img className='image' src= {'http://localhost:3000/'+ string } width='100' height='100' alt='nature'/>
<br/><br/>
</div>
);
}
render() {
return(
<div>
<div>{
this.state.images.map((image,index)=>{
return this.renderImage(image,index);
})
}
</div>
</div>
);
}
}
export default Image;
Попробуйте отправить value
в функцию deleteImage(value)
:
<button onClick = {this.deleteImage.bind(this, value)}>DELETE</button>
ИЛИ ЖЕ
<button onClick = {(e) => this.deleteImage(value, e)}>DELETE</button>
Пожалуйста, просмотрите больше здесь