@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?
  • Вопрос задан
  • 100 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

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