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

Как отрендерить React компонент по условию?

У компонента есть метод useEffect в котором кидается запрос на бэк, с бека прилетают три массива в виде:
{
  done: [],
  deleted: [],
  todo: []
}

Кидаю их в стейт, стейт меняется соответственно меняется значение allTasksDone на false в строке:
if (!allTasksDone) return <>загрузка</>
и должны отрендерится мои айтемы далее, но этого не происходит

export const TodoList = ({ update }: TodoListProps) => {
    const [data, setData] = useState<any>()
    const allTasksDone = data?.allTasks?.todo

    useEffect(() => {
        const requestBackend = new fetchBackend({ token: localStorage.getItem('token') })

        requestBackend.get('/client/getAlltasks').then((response) => response.json()).then((response) => {
            setData(response)
        })
    }, [update])

    if (!allTasksDone) return <>загрузка</>

    return (
        allTasksDone.map((task: any) => {
            return <TodoItem taskName={task} done={false} />
        })
    )
}
  • Вопрос задан
  • 136 просмотров
Подписаться 1 Простой 2 комментария
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Яндекс Практикум
    React-разработчик
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
ITK academy Воронеж
от 50 000 до 90 000 ₽
IT ATLAS Москва
от 200 000 до 250 000 ₽