Skip to content

Instantly share code, notes, and snippets.

View mboettcher's full-sized avatar
👨‍💻

Martin Böttcher mboettcher

👨‍💻
  • Sharpist GmbH
  • Berlin, Germany
View GitHub Profile
@mboettcher
mboettcher / useIsScreenFocused.ts
Created March 20, 2020 06:54
useIsScreenFocused #hook #typescript #ReactNative
import { useEffect, useState } from 'react';
import { NavigationParams, NavigationRoute, NavigationScreenProp } from 'react-navigation';
export const useIsScreenFocused = (navigation: NavigationScreenProp<NavigationRoute<NavigationParams>, NavigationParams>) => {
const [isFocused, setIsFocused] = useState(true);
useEffect(() => {
const focusListener = navigation.addListener('didFocus', () => {
setIsFocused(true);
});
const blurListener = navigation.addListener('didBlur', () => {
@mboettcher
mboettcher / useFocusEventRefresh.ts
Created March 20, 2020 06:45
useFocusEventRefresh hook
import { useEffect } from 'react';
import { NavigationParams, NavigationRoute, NavigationScreenProp } from 'react-navigation';
export const useFocusEventRefresh = (
navigation: NavigationScreenProp<
NavigationRoute<NavigationParams>,
NavigationParams
>,
refetch: () => Promise<any>,
) => {
@mboettcher
mboettcher / usePosition.ts
Last active April 16, 2023 18:27
usePosition Hook for React JS #ReactJS #TypeScript
import { useState, useEffect } from 'react';
const defaultSettings: PositionOptions = {
enableHighAccuracy: false,
timeout: Infinity,
maximumAge: 0,
};
export const usePosition = (watch = false, settings = defaultSettings): {position: Position, error: string} => {
@mboettcher
mboettcher / useIsMountedRef.ts
Created January 21, 2020 16:36
useIsMountedRef hook #ReactNative #TypeScript #Hook
import { useEffect, useRef } from 'react';
export function useIsMountedRef() {
const isMountedRef = useRef(false);
useEffect(() => {
isMountedRef.current = true;
return () => {
isMountedRef.current = false;
};
}, []);

Keybase proof

I hereby claim:

To claim this, I am signing this object: