export default class Home extends Component {
state = {
items : [ { text: 'Buy grocery', done: true},
{ text: 'Play guitar', done: false},
{ text: 'Romantic dinner', done: false}
]
}
onItemClick = () =>{
this.setState(
prevState => ({
items: prevState.items.map(
el => el.key === key? { ...el, done: true }: el
)
})
)
}
render() {
return (
<Fragment>
<h1>
Home Page
</h1>
<TodoList items={this.state.items} clickAction={this.onItemClick} />
</Fragment>
)
}
export default class TodoList extends Component {
render() {
const itemlist = this.props.items.map((item, index) =>{
return <div key={index}>
<h4 onClick={this.props.clickAction}> {item.text + " " + item.done}</h4> </div>
})
return (
<Fragment>
<h5>
TodoList Page
</h5>
<section>
{itemlist}
</section>
</Fragment>
)
}
}
Я хочу обновить одно свойство объекта внутри массива. Функция onItemClick, которая должна вызываться, когда пользователь щелкает элемент в списке, если элемент помечен как «ложный» как выполненный. В противном случае onItemClick не должен вызываться, а само событие click не должно распространяться дальше. получение ошибки 'ключ' не определен no-undef