@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>
  )
}
  • Вопрос задан
  • 59 просмотров
Решения вопроса 1
rockon404
@rockon404 Куратор тега React
Frontend Developer
const handleClose = useCallback(index => {
  setTodos(state => {
    const newState = [...state],
    newState[index] = { ...newState[index], checked: true },

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

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

Войти через центр авторизации
Похожие вопросы
Instamart Москва
До 130 000 руб.
BSSL Москва
от 50 000 до 150 000 руб.
от 70 000 до 110 000 руб.
16 июл. 2019, в 00:49
15000 руб./за проект
15 июл. 2019, в 23:17
3000 руб./за проект
15 июл. 2019, в 23:03
1000 руб./за проект