Skip to content

jurassix/redux-online-store-enhancer

Repository files navigation

redux-online-store-enhancer

Automatically detect if you are online or online, in a browser or on a native device.

Install

yarn add redux-online-store-enhancer

Browser Example

import onlineStoreEnhancer, { onlineReducer } from 'redux-online-store-enhancer';

const reducer = {
  online: onlineReducer,
};

const middleware = [];
const store = createStore(
  reducer,
  compose(
    applyMiddleware(...middleware),
    onlineStoreEnhancer()
  )
);

// get from state directly
const { online } = store.getState();

// reselect
const selectOffline = (state) => state.online;

React Native Example

import { NetInfo } from 'react-native';
import onlineStoreEnhancer, { onlineReducer } from 'redux-online-store-enhancer';

const reducer = {
  online: onlineReducer,
};

const middleware = [];
const store = createStore(
  reducer,
  compose(
    applyMiddleware(...middleware),
    onlineStoreEnhancer(NetInfo)
  )
);

// get from state directly
const { online } = store.getState();

// reselect
const selectOffline = (state) => state.online;

Global app state now has a top level, online, attribute that will dynamically change as browser goes on and online.

About

Automatically detect if you are online or offline.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published