@rooks/use-geolocation
Version:
A hook to provide the geolocation info on client side.
92 lines (69 loc) • 2.05 kB
Markdown
# @rooks/use-geolocation
## *Note: Future updates to this package have moved to the main package* [rooks](https://npmjs.com/package/rooks). All hooks now reside in a single package which you can install using
```
npm install rooks
```
or
```
yarn add rooks
```
Rooks is completely treeshakeable and if you use only 1 of the 50+ hooks in the package, only that hook will be bundled with your code. Your bundle will only contain the hooks that you need. Cheers!

    
## About
A hook to provide the geolocation info on client side.
## Installation
```
npm install --save @rooks/use-geolocation
```
## Importing the hook
```javascript
import useGeolocation from "@rooks/use-geolocation";
```
## Usage
### 1. Getting geolocation in a component
```jsx
function App() {
const geoObj = useGeolocation();
return (
<div
style={{
display: "flex",
alignItems: "center",
flexDirection: "column"
}}
>
<p>{geoObj && JSON.stringify(geoObj)}</p>
</div>
);
}
render(<App />);
```
### 2. Getting geolocation in a component on some condition
```jsx
function App() {
const [when, setWhen] = React.useState(false);
const geoObj = useGeolocation({
when
});
return (
<div
style={{
display: "flex",
alignItems: "center",
flexDirection: "column"
}}
>
<button
onClick={() => {
setWhen(true);
}}
>
Get Geolocation
</button>
<p>{geoObj && JSON.stringify(geoObj)}</p>
</div>
);
}
render(<App />);
```