このコードは動作しますが、私のコンポーネントをクリックするだけではわかりません。 が、私はすでに1でそれを変更したとき、私は色を変更することはできません方法を知りたい>将来の答えコンポーネントの配列の1つのコンポーネントのみを選択するにはどうすればいいですか?
import React, { Component } from 'react';
export default class Seats extends Component {
constructor() {
super()
this.state = {
status: false,
};
}
changeColor(event) {
if (this.state.status === false) {
event.currentTarget.style.backgroundColor = '#D70202';
this.state.status = true;
}else {
this.state.status = false;
event.currentTarget.style.backgroundColor = '#0CB607';
}
}
render() {
let array = [];
for (var i = 0; i < 5; i++) {
array[i] = i;
}
const list = array.map((d, index) => <div className="seat" onClick={this.changeColor.bind(this)} key={index}></div>);
return (
<div>
{list}
</div>
);
}
}
.seat {
background-color: #0CB607;
border: 1px solid black;
height: 90px;
width: 90px;
}
質問をよく理解しないでください。配列要素の1つがクリックされたら、他の要素をクリックして色を変えたくないと言っていますか?または、別のものがクリックされた場合は、現在選択されているものを通常の色に戻し、新しくクリックした色を変更しますか? – Jayce444
私がやったことをもう一度クリックするまで他の人がクリックされたくないのです – NelsonT20