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

https://github.com/antonybudianto/react-ua

📱React User Agent Component, Hook, and HOC. SSR-ready, full UT, using new React Context and Hooks API
https://github.com/antonybudianto/react-ua

hooks react reactjs ssr user-agent user-agent-parser

Last synced: 12 months ago
JSON representation

📱React User Agent Component, Hook, and HOC. SSR-ready, full UT, using new React Context and Hooks API

Awesome Lists containing this project

README

          

# react-ua

[![npm version](https://badge.fury.io/js/react-ua.svg)](https://badge.fury.io/js/react-ua)
[![Build Status](https://travis-ci.org/antonybudianto/react-ua.svg?branch=master)](https://travis-ci.org/antonybudianto/react-ua)



React User Agent Component and Provider, SSR-ready, using new React Context API

## Requirement

- React 16.8.0

## Features

- Wrapper for [ua-parser-js](https://github.com/faisalman/ua-parser-js)
- Using new React [Hooks API](https://reactjs.org/docs/hooks-faq.html)
- Using new React [Context API](https://reactjs.org/docs/context.html)
- SSR-ready
- Unit-tested

> Try it [live at StackBlitz](https://stackblitz.com/edit/demo-react-ua)

```js
import React from 'react';
import { UserAgentProvider, useUserAgent } from 'react-ua';

const Comp = () => {
const ua = useUserAgent();
return

OS: {ua.os.name}
;
};

const App = () => (



);

ReactDOM.render(, document.getElementById('#root'));

// SSR
const el = (



);

ReactDOMServer.renderToString(el);
```

## HOC (deprecated)

```tsx
import { withUserAgent } from 'react-ua/hoc';

const CompWithHoc = withUserAgent(({ ua }) =>

OS: {ua.os.name}
);

const App = () => (



);
```

## License

MIT