@lookingfor2

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

Мне нужно чтобы перед загрузкой массива объктов с данными операций пользователя ему отображалось "Идет загрузка данных",
на данный момент, изначально я храню в переменной состояния пустой массив, передаю его в компонент, откуда перебираю данные, до того как я получу все данные, нужна текстовая информация, еще сам массив в итоге может быть пустым, и мне необходимо будет вывести "У вас не было операций"
xport default function App() {
    const [operationsLoan, setOperationsLoan] = useState([] );

    useEffect(() => {
            apiGetOperationsLoan()
                .then((response) => {
                    setOperationsLoan(response.data);
                });
    }, []);
    return (
        <>
            <div className="cabinet__history-title">
                <h1>
                    История операций
                </h1>
            </div>
            <TabBar>
                <TabBarItem label="Операции по займам">
                    <div className="loans-history">
                        {
                            operationsLoan.map((loan, index) => {
                                return <Loan loan={loan} key={index}/>;
                            })
                        }
                    </div>
                </TabBarItem>
            </TabBar>
  • Вопрос задан
  • 90 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Isildur12
export default function App() {
    const [operationsLoan, setOperationsLoan] = useState([] );
    const [loading, setLoading] = useState(false);

    useEffect(() => {
         setLoading(true);
            apiGetOperationsLoan()
                .then((response) => {
                    setOperationsLoan(response.data);
                    setLoading(false);
                });
    }, []);

// можно еще так сделать, зависит от обстоятельств
//   if (loading) {
 //    return <p> Идет загрузка данных </p>
 //  } 

    return (
        <>
            <div className="cabinet__history-title">
                <h1>
                    История операций
                </h1>
            </div>
            <TabBar>
                <TabBarItem label="Операции по займам">
                    <div className="loans-history">
                        {loading ? <p>Идет загрузка данных</p>
                                :   { operationsLoan.map((loan, index) => {
                                return <Loan loan={loan} key={index}/>;
                            })}
                          }
         
                    </div>
                </TabBarItem>
            </TabBar>
Ответ написан
Ваш ответ на вопрос

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

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