тудулист. По клику на туду, меняется стейт фолс/тру. Есть эффект со сбросом, зависящий от стейта. И в эффекте, и в сбросе в консоль выводится стейт.
Прочел (попытался во всяком случае) Сomplete guide to UseEffect, Reac as a UI runtime. Судя по тому что там написанно, что функция возвращаемая из эффекта захватывает (возможно не правильно выражаюсь) стейт и пропсы рендера который ее определил. The effect cleanup doesn’t read the “latest” props, whatever that means. It reads props that belong to the render it’s defined in...
Так вот. Меняя стейт через setState(newState), в сбросе эффекта выводится новый стейт. Но, меняя стейт через функцию setState(prev => ...prev...), в сбросе эффекта выводится старый стейт, собственно поведение, как и ожидалось.
Подскажите, где я недочитал, или что не понял, почему такое поведение
линк на песочницу: компонент TodosPage, функция toggleHandler:
https://codesandbox.io/s/kind-franklin-0ovn4?file=/src/pages/TodosPage.tsx
Слишком много кода, так тебе не помогут. Локализируй вопрос
Обсуждают сегодня