import React from 'react'; import * as TaskManager from 'expo-task-manager'; import { NavigationEvents, NavigationScreenProps } from 'react-navigation'; import { ScrollView, StyleSheet, View } from 'react-native'; import Button from '../components/Button'; import MonoText from '../components/MonoText'; import HeadingText from '../components/HeadingText'; interface State { tasks?: TaskManager.RegisteredTask[]; } export default class TaskManagerScreen extends React.Component { static navigationOptions = { title: 'TaskManager', }; readonly state: State = {}; componentDidMount() { this.updateRegisteredTasks(); } updateRegisteredTasks = async () => { const tasks = await TaskManager.getRegisteredTasksAsync(); this.setState({ tasks }); } unregisterTask = async (taskName: string) => { await TaskManager.unregisterTaskAsync(taskName); await this.updateRegisteredTasks(); } unregisterAllTasks = async () => { await TaskManager.unregisterAllTasksAsync(); await this.updateRegisteredTasks(); } renderButtons() { const { tasks } = this.state; const buttons = tasks!.map(({ taskName }) => { return (