Use the power of renderprop to delived a Library as a React component. Based on React-lodable. Does not support SSR and React Suspense. Use react-imported-library if you are looking for them.
- ⛅️ You can codesplit momentjs, you may async load any library and use it.
- 🔒 Written in TypeScript.
Usage
Have you heard, than moment.js is super hudge? Code split it!
; // do you need SSR support? Probably not (affect react-imported-component settings); // this will import `default` exportconst Moment = ; <Moment> <span> </Moment>
May be you have a small library, you may use somewhere inside your components?
Codesplit it!
;const Utils = ; <Utils> <span> </Utils>
May be you also have to caclucate something heavy, not to do it on every render
?
// you may use "initialization hook" to offload some computations <Utils initial= result: > <span>stateresult</span> </Utils>
API
-
importedLibrary(
importer
, options?): Componentimporter
is animport
statement, or any Promise resolver- options
- options.async:boolean - enables React.suspense, ie throws a Promise on loading
- options.exportPicker - allows you to "pick" export from the original file
-
importedLibraryDefault - is just importedLibrary with exportPicker configured to pick
.default
-
Component
initial: (library: T) => K;
- state initializatorchildren: (library: T, state: K) => React.ReactNode
- function-as-childrenerror: ReactComponent
- error indicatorloading: ReactComponent
- unthrottled loading indicator.
Licence
MIT