'ключ' не определен no-undef setState ReactJS - PullRequest
0 голосов
/ 15 апреля 2020
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

1 Ответ

0 голосов
/ 15 апреля 2020

Когда вы делаете это:

  el => el.key === key? { ...el, done: true }: el

вы в совокупности el.key до key, но переменная key никогда не определяется

...