1.0.1 • Published 3 years ago

r-skeleton v1.0.1

Weekly downloads
-
License
ISC
Repository
-
Last release
3 years ago

r-skeleton

介绍

r-skeletonReact 版的自动骨架屏生成组件。在编译时生成骨架屏代码,可实时预览以及修改。其核心原理是在 render 阶段多渲染一份骨架屏 dom 节点(避免直接修改操作原始 dom,产生其他问题),然后通过 css 样式控制骨架屏页显隐,达到实时预览的效果。在遍历页面节点元素时,针对 svgimginput 等特殊节点做了处理。并且只对 background-imagetext 文本节点做背景上色处理,达到骨架屏效果。

📦 安装

npm install r-skeleton --save
yarn add r-skeleton

🔨 示例

import { Skeleton } from "r-skeleton";

const App = () => {
    return (
      <Skeleton className="skeletons" backgroundColor="rgb(222, 222, 200)">
        <div>
          <h2>自动骨架屏生成组件</h2>
          <p data-skeleton-ignore>该节点元素会被忽略</p>
          <p data-skeleton-remove>该节点元素会被移除</p>
          <p data-skeleton-empty>该节点元素内容会被清空</p>
        </div>
      </Skeleton>
    )
};

Props 属性值

参数名称必填默认值说明
isProduction-是否为生产环境(生产环境不走骨架屏)
backgroundColorrgb(238, 238, 238)骨架屏背景色
quality0.9生成的图片压缩质量
classNameskeleton-container骨架屏节点类名
childrennullReactNode

Dom 节点属性

参数名称说明
data-skeleton-remove指定进行移除的 dom 节点属性
data-skeleton-ignore指定忽略不进行任何处理的 dom 节点属性
data-skeleton-empty将某dom的innerHTML置为空字符串