1.1.0 • Published 5 years ago

@axew/rc-if v1.1.0

Weekly downloads
-
License
MIT
Repository
github
Last release
5 years ago

rc-if

Build Status

rc-if is a react component for writing if-else in render.

Usage

Install.

$ npm install @axew/rc-if
# or
$ yarn add @axew/rc-if

Example.

import { FI, If, ElseIf, Else } from '@axew/rc-if';

const App = () => {
  const { data, error, loading } = useFakeFetch('http://example.com');
  return (
    <FI>
      <h1>Title - this is always visible</h1>
      <If if={loading}>
        <Loading />
      </If>
      <ElseIf elseIf={error}>
        <Error message={error} />
      </ElseIf>
      <Else>
        <If if={data.list.length === 0}>
          <Empty />
        </If>
        <Else>
          <List dataSource={data.list} />
        </Else>
      </Else>
    </FI>
  );
};

Types

interface RcIF extends React.SFC<{ show?: boolean }> {
  If: React.SFC<{ if?: boolean }>;
  ElseIf: React.SFC<{ elseIf?: boolean }>;
  Else: React.SFC;
}

declare const FI: RcIF;

FI

The following components cannot work without FI wrapping. When use in nested, the following components can also be wrap.

PropertyDescriptionTypeDefault
showrender children or notbooleantrue

If

Render when if.

PropertyDescriptionTypeDefault
ifrender children or notboolean-

ElseIf

Render when elseIf.

PropertyDescriptionTypeDefault
elseIfrender children or notboolean-

Else

Render when else.