index.tsx 519 Bytes
import React, { memo } from 'react';
import { Spin } from 'antd';
import './styles.less';

const prefixCls = 'qx-page-loading';

const PageLoading: React.FC<PageLoadingProps> = (props) => {
  const { loading = true, children, ...rest } = props;
  return loading ? (
    <div className={prefixCls} {...rest}>
      <Spin size="default" spinning={loading} />
    </div>
  ) : (
    children!
  );
};

interface PageLoadingProps {
  loading?: boolean;
  children?: React.ReactElement;
}

export default memo(PageLoading);