ip-info-react
TypeScript icon, indicating that this package has built-in type declarations

1.0.0 • Public • Published

npm-get-country

IPInfo - React Context for IP and Location Information

IPInfo is a simple React context for fetching and storing IP and location information of a user. It uses ipify.org to get the user's IP address and ipapi.co to fetch detailed location data.

Features

  • Fetches user's IP address and location data
  • Stores location data in local storage for faster access
  • Automatically refetches data if IP address changes
  • Provides a React context to access the fetched information

Usage

1. Wrap your app

import IPInfo from 'ip-info-react';

function App() {
  return <IPInfo>{/* Your application components */}</IPInfo>;
}

2. Use it wherever you want

import { useContext } from 'react';
import { IPInfoContext } from 'ip-info-react';

function MyComponent() {
  const userInfo = useContext(IPInfoContext);

  // Access the fetched data
  console.log(userInfo.ip);
  console.log(userInfo.city);
  console.log(userInfo.country_name);

  return (
    // Your component JSX
  );
}

Data Structure

The userInfo object provided by the IPInfoContext contains the following properties:

type UserInfo = {
  ip?: string;
  network?: string;
  version?: string;
  city?: string;
  region?: string;
  region_code?: string;
  country?: string;
  country_name?: string;
  country_code?: string;
  country_code_iso3?: string;
  country_capital?: string;
  country_tld?: string;
  continent_code?: string;
  in_eu?: boolean;
  postal?: string;
  latitude?: number;
  longitude?: number;
  timezone?: string;
  utc_offset?: string;
  country_calling_code?: string;
  currency?: string;
  currency_name?: string;
  languages?: string;
  country_area?: number;
  country_population?: number;
  asn?: string;
  org?: string;
};

Please note that some properties may be undefined if the data is not available.

Dependencies

  • React

Package Sidebar

Install

npm i ip-info-react

Weekly Downloads

37

Version

1.0.0

License

ISC

Unpacked Size

7.9 kB

Total Files

8

Last publish

Collaborators

  • neosh11