1.1.2 • Published 1 year ago

react-native-timestamp-timer-hooks v1.1.2

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

react-native-timestamp-timer-hooks

React Native Timestamp timer hooks (timer, countdown)

The timer works even when the app is in the background. (unless the app is removed from the background)


Getting started

yarn add react-native-timestamp-timer-hooks

or

npm install react-native-timestamp-timer-hooks

Import

import { useTimer, useCountdown } from 'react-native-timestamp-timer-hooks';

Usage

Example

import * as React from "react"
import { StyleSheet, Text, TouchableOpacity, View } from 'react-native';
import useTimer from '../hooks/useTimer';

const Timer = () => {
  const { counter, start, stop, reset, isStart } = useTimer({
    from: 30000,
    interval: 100,
    to: 40000,
  });

  return (
    <View>
      <View>
        <Text style={[styles.defaultText, { alignSelf: 'center' }]}>Timer</Text>
      </View>
      <View style={{ flexDirection: 'row', justifyContent: 'space-around' }}>
        <TouchableOpacity
          onPress={() => {
            if (isStart) stop();
            else start();
          }}
        >
          <Text style={styles.defaultText}>{isStart ? 'stop' : 'start'}</Text>
        </TouchableOpacity>
        <TouchableOpacity onPress={() => reset()}>
          <Text style={styles.defaultText}>reset</Text>
        </TouchableOpacity>
      </View>
      <View style={{ alignItems: 'center', marginTop: 20 }}>
        <Text
          style={[styles.defaultText, { fontSize: 24, fontWeight: 'bold' }]}
        >
          {counter}
        </Text>
      </View>
    </View>
  );
};

export default Timer;

Check out the example project for more examples.

Parameters

The useTimer, userCountdown hooks have the following parameters:

NameTypeDescriptionRequiredDefault Value
from (ms)numberThe initial value of counter0
to (ms)numberWhen the timer should stopundefined
interval (ms)numberWhen the timer should stop50

Return values

The useTimer, userCountdown hooks have the following returns values:

NameTypeDescription
counter (ms)numberThe value of counter
start() => voidStart the counter
stop() => voidStop the counter
reset(resetFrom? : number) => voidReset the counter. There is an optional parameter to set the resetFrom value
isStartbooleanReturn true if the counter is running, false if not

License

The library is released under the MIT licence.

For more information see LICENSE.