当前位置:首页 > React

骨架屏实现react

2026-01-27 00:32:23React

骨架屏实现方法(React)

使用第三方库react-loading-skeleton 安装依赖包:

npm install react-loading-skeleton

基本使用方式:

import Skeleton from 'react-loading-skeleton'
import 'react-loading-skeleton/dist/skeleton.css'

function MyComponent() {
  return (
    <div>
      <Skeleton height={100} width={200} />
      <Skeleton count={3} />
    </div>
  )
}

自定义CSS实现方案 创建Skeleton组件:

const SkeletonElement = ({ type }) => {
  const classes = `skeleton ${type}`
  return <div className={classes}></div>
}

添加CSS样式:

.skeleton {
  background: #ddd;
  overflow: hidden;
  margin: 10px 0;
  border-radius: 4px;
}
.skeleton.text {
  width: 100%;
  height: 12px;
}
.skeleton.avatar {
  width: 50px;
  height: 50px;
  border-radius: 50%;
}

结合动画效果 添加渐变动画:

@keyframes shimmer {
  0% { background-position: -468px 0 }
  100% { background-position: 468px 0 }
}

.shimmer {
  background: linear-gradient(to right, #eee 8%, #ddd 18%, #eee 33%);
  background-size: 800px 104px;
  animation: shimmer 1.5s infinite linear;
}

条件渲染控制 根据数据状态切换:

function UserProfile({ user }) {
  return (
    <div>
      {user ? (
        <div>
          <img src={user.avatar} alt="avatar" />
          <h2>{user.name}</h2>
        </div>
      ) : (
        <div className="skeleton-wrapper">
          <SkeletonElement type="avatar" />
          <SkeletonElement type="text" />
        </div>
      )}
    </div>
  )
}

复杂布局处理 多区块骨架屏示例:

const ArticleSkeleton = () => (
  <div className="skeleton-article">
    <SkeletonElement type="title" />
    <SkeletonElement type="thumbnail" />
    <div className="skeleton-content">
      <SkeletonElement type="text" />
      <SkeletonElement type="text" />
    </div>
  </div>
)

性能优化建议

骨架屏实现react

  • 避免过多DOM节点
  • 使用CSS硬件加速
  • 控制动画频率
  • 按需加载骨架组件

以上方法可根据实际项目需求组合使用,react-loading-skeleton适合快速实现,自定义方案则提供更高灵活性。

标签: 骨架react
分享给朋友:

相关文章

react如何动画

react如何动画

React 动画实现方法 React 中实现动画可以通过多种方式,包括原生 CSS、第三方库或 React 内置的动画解决方案。以下是几种常见方法: 使用 CSS 动画和过渡 通过 CSS 的 tr…

react就业如何

react就业如何

React 就业市场现状 React 作为当前主流前端框架之一,就业需求持续旺盛。国内外互联网企业、中大型公司以及初创团队普遍采用 React 技术栈,尤其在 Web 应用、移动端(React Nat…

react如何减少setState

react如何减少setState

减少 React 中 setState 调用的方法 合并多次状态更新 使用函数式更新方式合并多次 setState 调用。React 会将多次状态更新批量处理,避免不必要的重新渲染。 // 非函…

vscode如何配置react

vscode如何配置react

配置 VSCode 进行 React 开发 安装必要插件 ES7+ React/Redux/React-Native snippets:提供 React 代码片段快速生成功能。 Prettier -…

webstorm如何运行react

webstorm如何运行react

运行 React 项目的方法 在 WebStorm 中运行 React 项目需要确保项目已正确配置,并且依赖项已安装。以下是具体操作步骤: 确保项目依赖已安装 打开终端(Terminal),导航到项…

如何调试react源码

如何调试react源码

调试React源码的方法 克隆React源码仓库到本地: git clone https://github.com/facebook/react.git cd react 安装依赖并构建开发版本:…