@Shu90

Как сделать что бы два стейта рендерелись одновременно?

Делаю todolist с хуком useState и у компонента у меня есть два состояния, одно для всех задач а второе для активных так как у меня есть переключение с активного на не активное. В шапку я передаю количество активных заданий но проблема в том, что второе состояние (активные задачи) рендерится на шаг позже и их количество всегда отстает на шаг от актуального. Как решить эту проблему?
function App() {
    const [tasks, setTask] = useState([])
    const [activeTasks, setActiveTasks] = useState([])

    function addTask (e) {
        let taskNew= {text: e,
            id: Math.random(),
            complete: false
        }
        setTask([...tasks, taskNew])
        setActiveTasks(tasks)
    }
  • Вопрос задан
  • 71 просмотр
Решения вопроса 1
Seasle
@Seasle Куратор тега React
const newTasks = [...tasks, taskNew];
setTask(newTasks);
setActiveTasks(newTasks)

но в примере явно косяк.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы