0.1.1 • Published 7 years ago
await-component v0.1.1
await-component
Code-splitting with import() and loading boundaries
Features
- Supports any Promise based code-splitting API
import()
,require.ensure()
, etc - Display a custom loading component while waiting for sub-components to load.
- Handle timeouts and errors with a custom error component.
- Adds delay to prevent Flash of Loading Content
- Preload components with
preload
Install
yarn add await-component
import {Await, Async, preload} from 'await-component';
Examples
Using Async(() => <Promise>)
import React from 'react';
import {Await, Async} from 'await-component';
const Container = Async(() => import('./Container'));
const Sum = Async(() => import('./Sum'));
export default () => (
<Await loading={<div>Loading...</div>} error={<div>ERROR!</div>}>
<Container>
<Sum a={1} b={2} />
<Sum a={2} b={2} />
<Sum a={5} b={5} />
</Container>
</Await>
);
Preloading
import React from 'react';
import {Await, Async, preload} from 'await-component';
const Container = Async(() => import('./Container'));
const Sum = Async(() => import('./Sum'));
preload(Container);
export default () => (
<Await loading={<div>Loading...</div>} error={<div>ERROR!</div>}>
<Container>
<Sum a={1} b={2} />
<Sum a={2} b={2} />
<Sum a={5} b={5} />
</Container>
</Await>
);
Using JSX Pragma (experimental)
/* @jsx Async.createElement */
import React from 'react';
import {Await, Async} from 'await-component';
const Container = import('./Container');
const Sum = import('./Sum');
export default () => (
<Await loading={<div>Loading...</div>} error={<div>ERROR!</div>}>
<Container>
<Sum a={1} b={2} />
<Sum a={2} b={2} />
<Sum a={5} b={5} />
</Container>
</Await>
);
Changelog
See the Changelog
Contributing
See the Contributors Guide
License
0.1.1
7 years ago
0.1.0
7 years ago
0.1.0-beta.9
7 years ago
0.1.0-beta.8
7 years ago
0.1.0-beta.7
7 years ago
0.1.0-beta.6
7 years ago
0.1.0-beta.5
7 years ago
0.1.0-beta.4
7 years ago
0.1.0-beta.3
7 years ago
0.1.0-beta.2
7 years ago
0.1.0-beta.1
7 years ago
0.1.0-alpha.3
7 years ago
0.1.0-alpha.2
7 years ago
0.1.0-alpha
7 years ago