Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/rmdort/react-async-load-script

A higher order React component to lazy load external javascript files sequentially
https://github.com/rmdort/react-async-load-script

Last synced: 18 days ago
JSON representation

A higher order React component to lazy load external javascript files sequentially

Awesome Lists containing this project

README

        

# React async script loader

A higher order React component to lazy load external javascript files. Scripts are loaded sequentially.

Note: Requires Promise polyfill

## Installation

````
yarn add react-async-load-script
````

## Usage

````
import scriptLoader from 'react-async-load-script'

scriptLoader([...scripts])(YourComponent)
````

## Example

````
class D3Chart extends React.Component {
componentDidUpdate (prevProps) {
if (
prevProps.isScriptLoadSucceed !== this.props.isScriptLoadSucceed &&
this.props.isScriptLoadSucceed
) {
// Initialize d3 chart
console.log(d3)
}
}
render () {
return


}
}

export default scriptLoader([
'https://cdnjs.cloudflare.com/ajax/libs/d3/4.12.0/d3.min.js
])(D3Chart)
````

## Properties

Your component will receive the following props

|Name|Type|Description|
|----|----|-----------|
|isScriptLoaded|boolean|Indicates if scripts have been loaded|
|isScriptLoadSuccess|boolean|Indicates if all scripts are loaded without error|

## Test

````
yarn test
````

## License

MIT