Основным является то, что каждый элемент должен иметь свой собственный isTure
Таким образом, единое состояние isTrue
не может удовлетворить ваш спрос.
Два способа:
exampleData
в state
isTure
=> arrIsTrue
для соответствия каждому элементу в exampleData
data: [
{ id: 1, isTrue: false },
{ id: 2, isTrue: false },
{ id: 3, isTrue: false},
...
]
эти данные могут быть помещены вstate
как после: this.state = { exampleData: exampleData.data }
, поэтому render
может быть <ReactCardFlip isTrue={obj.isTrue}/>
также handleToggle
должен получить текущий индекс переключения после:
<div className="App">
{this.state.exampleData.map((obj, index) => {
return <ReactCardFlip key={index} isTrue={this.state.isTrue}/>
<button onClick={() => handleToggle(index)}>Flip the card</div>
</ReactCardFlip>
})
</div>
, а затем в handleToggle
будет:
handleToggle (index) {
const exampleData = this.state.exampleData
exampleData[index] = !exampleData[index].isTrue
this.setState({ exampleData: exampleData })
}
В конце концов, не забудьте key