首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么反应骨架不呈现?

为什么反应骨架不呈现?
EN

Stack Overflow用户
提问于 2022-02-09 06:13:49
回答 1查看 2K关注 0票数 0

我有一个组件Recommended,它对firebase进行服务调用并呈现返回的数据。在数据库调用加载延迟期间,我希望呈现一个反应骨架,如下所示:

Recommended.js

代码语言:javascript
复制
import { useState, useEffect } from "react";
import Skeleton from "react-loading-skeleton";
import { getVenues } from "../services/firebase";
import VenueCard from "./VenueCard";

const Reccomended = () => {
  const [venues, setVenues] = useState([]);

  useEffect(() => {
    async function getAllVenues() {
      const response = await getVenues();
      await setVenues(response);
    }
    getAllVenues();
  }, []);

  venues[0] ? console.log(true) : console.log(false)

  return (
    <div>
      {!venues[0] ? (
        <>
          <Skeleton />
        </>
      ) : (
        <>
          <p className="recommended">Recommended for Josh</p>
          <VenueCard venues={venues} />
        </>
      )}
    </div>
  );
};

export default Reccomended;

但是,在加载过程中,骨架并不是再现的。返回的数据被保存到状态变量venues中,我使用'truthiness‘作为呈现的条件。我通过记录以下内容对此进行了测试:

venues[0] ? console.log(true) : console.log(false)

在浏览器中,它最初记录的是false,然后是true,因此,考虑到这一点,我不明白为什么骨架没有加载--有什么建议吗?

我还将参数传递到<Skeleton/>,它没有改变任何东西。

EN

回答 1

Stack Overflow用户

发布于 2022-02-09 09:20:07

您必须包括CSS样式,否则您将看不到任何东西。只需加上

代码语言:javascript
复制
import "react-loading-skeleton/dist/skeleton.css";

其余的进口品。

这在反应加载.骨架基本使用部分中的自述包中有记录。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71044794

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档