[英]How to Disable button Of an Item In an array onClick React
我有一組單獨有一個按鈕的項目,我想在單擊項目時禁用項目的按鈕。 我嘗試在狀態和 setState onClick 中創建一組禁用的項目,但我不斷收到錯誤消息。 下面是我的組件代碼。
class MovieSummary extends Component {
constructor(props) {
super(props);
this.state = {
disabled: [],
};
}
addingItem = (item) => {
this.props.addItem(item);
};
render() {
const { Title, imdbID } = this.props.movie;
return (
<div>
{" "}
<h5>
{this.props.movie.Title}{" "}
<button
key={imdbID}
disabled={this.state.disabled.indexOf(imdbID) !== -1}
onClick={
(() =>
this.addingItem({
title: Title,
id: imdbID,
}),
this.setState({
disabled: [...this.state.disabled, imdbID],
}))
}
>
Nominate
</button>
</h5>
</div>
);
}
}
export default MovieSummary;
無論您在哪里映射電影,您都可以簡單地檢查電影是否存在於添加的電影列表中,並相應地禁用該按鈕。
class ComponentThatWrapsMovieSummary extends Component {
state = {
addedMovies: [],
}
render() {
return (
{movies.map(movie => {
// wherever you're mapping, you could simply check like this.
return <MovieSummary isDisabled={this.addedMovies.includes(movie.id)}/>
})}
)
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.