![Create React App Officially Deprecated Amid React 19 Compatibility Issues](https://cdn.sanity.io/images/cgdhsj6q/production/04fa08cf844d798abc0e1a6391c129363cc7e2ab-1024x1024.webp?w=400&fit=max&auto=format)
Security News
Create React App Officially Deprecated Amid React 19 Compatibility Issues
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.
@oieduardorabelo/use-user-agent
Advanced tools
React Hooks to detect browsers user-agent using ua-parser-js as main dependency.
React Hooks to detect browsers user-agent using ua-parser-js
as main dependency.
To install it:
yarn add @oieduardorabelo/use-user-agent
An online demo is available at CodeSandbox:
If you've any issues, open an issue with a CodeSandbox link with your issue
In your app, you can add:
import { useUserAgent } from '@oieduardorabelo/use-user-agent';
function App() {
let details = useUserAgent(uastring)
...
}
details
object is composed of:details
: It is either null
or an ua-parser-js object.details.os
: It is a Object
, with keys name
and version
as string|undefined
details.browser
: It is a Object
, with keys name
, version
and major
as string|undefined
details.cpu
: It is a Object
, with keys architecture
as string|undefined
details.device
: It is a Object
, with keys vendor
, model
and type
as string|undefined
details.engine
: It is a Object
, with keys name
and version
as string|undefined
For full documentation, refer to ua-parser-js repository.
uastring
parameter is composed of:uastring
: It is a String
, should be a user-agent string, if none is passed, we default to window.navigator.userAgent
Using default value from useUserAgent()
:
import { useUserAgent } from '@oieduardorabelo/use-user-agent';
function App() {
let details = useUserAgent(); // default is `window.navigator.userAgent`
if (!details) {
return null;
}
let { os, browser, cpu, device, engine } = details;
return (
<div>
<p>My OS is {os.name}, on version {os.version}</p>
<p>My Browser is {browser.name}, on version {browser.version} with major {browser.major}</p>
<p>My CPU architecture is {cpu.architecture}</p>
<p>My Device is {device.vendor}, with model {device.model} of type {device.type}</p>
<p>My Engine is {engine.name} with version {engine.version}</p>
</div>
);
}
Passing a custom user-agent string:
import { useUserAgent } from '@oieduardorabelo/use-user-agent';
function App() {
let uastring = "Mozilla/5.0 (PlayBook; U; RIM Tablet OS 1.0.0; en-US) AppleWebKit/534.11 (KHTML, like Gecko) Version/7.1.0.7 Safari/534.11";
let details = useUserAgent(uastring);
if (!details) {
return null;
}
let { os, browser, cpu, device, engine } = details;
return (
<div>
<p>My OS is {os.name}, on version {os.version}</p>
<p>My Browser is {browser.name}, on version {browser.version} with major {browser.major}</p>
<p>My CPU architecture is {cpu.architecture}</p>
<p>My Device is {device.vendor}, with model {device.model} of type {device.type}</p>
<p>My Engine is {engine.name} with version {engine.version}</p>
</div>
);
}
FAQs
React Hooks to detect browsers user-agent using ua-parser-js as main dependency.
The npm package @oieduardorabelo/use-user-agent receives a total of 1,796 weekly downloads. As such, @oieduardorabelo/use-user-agent popularity was classified as popular.
We found that @oieduardorabelo/use-user-agent demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Security News
The Linux Foundation is warning open source developers that compliance with global sanctions is mandatory, highlighting legal risks and restrictions on contributions.