Задать вопрос
@MeMoJlor

Почему не работает cheked: !cheked?

Код выглядит так:
class App extends Component {
  state = {
    data: [
      {disc: 'Получить пенсию', chekedItem: false, id:'435'},
      {disc: 'dfdfgf', chekedItem: false, id:'545'},
      {disc: 'dfdfgf', chekedItem: false, id:'565'},
      {disc: 'dfdfgf', chekedItem: false, id:'111'},
    ],
  }

  onCheked = (id, e) => {
    if(e.target === e.currentTarget){
      this.setState(({data}) => {
        const idx = data.findIndex(elem => elem.id === id);
        const old = data[idx]
        const newItem = {...old, chekedItem: !chekedItem};
        const before = data.slice(0 ,idx);
        const after = data.slice(idx + 1);
        const newArr = [...before, newItem, ...after];
        return{
          data: newArr
        }
      })
    }
  }
  
  render() {
    return(
      <div className='mainLayer'>
        <div className='todoLayer'>
          <TodoHeader/>
          <TodoForm addItem={this.addItem}/>
          <TodoList post={this.state.data} onCheked={this.onCheked} deleteItem={this.deleteItem}/>
        </div>
      </div>
    )
  }
}

export default App;


Ошибка: chekedItem' is not defined no-undef
  • Вопрос задан
  • 107 просмотров
Подписаться 1 Простой 3 комментария
Решения вопроса 1
MrDecoy
@MrDecoy Куратор тега JavaScript
Верставший фронтендер
Ну наверное потому что так и есть? chekedItem is not defined.
Где у Вас переменная chekedItem?
Полагаю, Вы хотели написать chekedItem: !old.chekedItem
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Simkav
@Simkav
const newItem = {...old, chekedItem: !chekedItem};

Покажите где у вас ваш checkedItem
Ответ написан
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
А почему оно должно работать? Чему равняется значение переменной chekedItem в момент выполнения строки const newItem = {...old, chekedItem: !chekedItem};?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы