@doppelgangerz
JavaScript

Почему не срабатывает изменение объекта?

Добрый день, я пишу ту ду лист на хуках. У меня возникла проблема, почему то не срабатывает метод handleClose. Буду очень благодарен за ответ.

function App() { 
  const [todo, setTodos] = useState(
    [
      { text: 'example', done: false, checked: false },
      { text: 'second example', done: false, checked: false }
    ]
  );
const handleClose = (index) => {
    setTodos((state) => {
      return state[index].checked = true;
    });
  };
return (
    <div className='root-wrapper'>
      <div className='top-wrapper'>
        <h1>Todo List Hooks</h1>
        <MakeDo 
          handleAdd={handleAdd}
        />
      </div>
      <div className='main-wrapper'>
        <List 
          handleClose={handleClose}
          handleDelete={handleDelete}
          items={todo}
          // removeItems={setTodos([])}
        />
      </div>
      <div className='bot-wrapper'>
        <BottomInputs 
          handleClear={handleClear}
          handleAccept={handleAccept}
        />
      </div>
      <input 
        type='button'
        onClick={handleJSON}
        value='addJSON'
      />
    </div>
  )
}
  • Вопрос задан
  • 63 просмотра
Решения вопроса 1
rockon404
@rockon404 Куратор тега React
Frontend Developer
const handleClose = useCallback(index => {
  setTodos(state => {
    const newState = [...state],
    newState[index] = { ...newState[index], checked: true },

    return newState;
  });
}, []);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы