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

Почему состояние в useState меняется само?

Добрый день. Подскажите, возник небольшой затык. У меня есть состояние компонента, в котором я храню инфу по нему, а также выделен ли компонент на текущий момент, чтобы на основании этого перерисовать компонент
const [lists, setLists] = useState([
    {
      title: '', links: [], date: '', active: false,
    },
])


Из родительского компонента я в дочерний пробрасываю колбэк вида

function activatePost(event, title) {
    const newList = [...lists].map((item) =>
      item.title === title
        ? { ...item, active: true }
        : { ...item, active: false }
    )
    console.log(newList)
    setLists(newList)
  }


дочерний компонент вида возвращается в виде
<div
      className={active ? 'post active' : 'post'}
      {...props}
      onClick={(event) => activatePost(event, title.toLowerCase())}
    ></div>


при клике на компонент выдает два консоль лога
649d8e445770b792131215.png

1. почему их в принципе два?
2. что сделано не так, что он сразу становится false?
  • Вопрос задан
  • 103 просмотра
Подписаться 1 Простой 6 комментариев
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Яндекс Практикум
    React-разработчик
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
ITK academy Нижний Новгород
от 80 000 до 120 000 ₽
ITK academy Воронеж
от 50 000 до 90 000 ₽