1.0.3 • Published 5 years ago

react-detect-offline-api v1.0.3

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

react-detect-offline-api

Install

npm install --save react-detect-offline-api

Demo

Usage

import * as React from 'react'

import ReactDetectOfflineAPI from 'react-detect-offline-api'

class Example extends React.Component {
  render () {
    return (
      <ReactDetectOfflineAPI
        apiUrl={'http://yourapiurl.com'}
        checkInterval={5000}
        onOnline={() => {
          console.log('Online')
        }}
        onOffline={error => {
          console.log(error && error.status ? 'Offline with error:' + error.status : 'Offline')
        }}
        initialStatusCallback={status => {
          console.log('Initial status ', status ? 'online' : 'offline')
        }}
        resolveOnlineStatusFromPromise={response => response.status === 'healthy'}
        render={({ online }) =>
          online
            ?
            <div>Online</div>
            :
            <div>Offline</div>
        } />
    )
  }
}

Please note that if a request is blocked by CORS policy, this component will not work.

PropsRequiredTypeDescription
apiUrltruestringAPI to check
checkIntervaltruenumber | nullPolling interval. If null, there will be only one check on componentDidMount
renderfalseFunctionWe're using Render Props to render online of offline component. See an example for more info.
onOnlinefalseFunctionCalled once an API becomes online and was offline
onOfflinefalseFunctionCalled once an API becomes offline and was online, in case API call was unsuccessful, it gets error as parameter
resolveOnlineStatusFromPromisefalse(response: Object) => booleanCalled to detect online status from response after successful API call, otherwise every successful API call would be considered as online status
initialStatusCallbackfalse(status: boolean) => voidCalledback that returnes an initial status

License

MIT | Developed by Webscope.io