Вы не обновляете свое состояние после остановки таймера, поэтому компонент не обновляется. Возможно, вы захотите использовать хук useEffect с очисткой. Попробуйте что-то вроде этого:
const [shouldCount, setShouldCount] = useState(false);
const [progressValue, setProgressValue] = useState(0);
useEffect(() => {
if(shouldCount){
const interval = setInterval(() => setProgressValue(progressValue + 1),
1000
);
return () => clearInterval(interval);
}
}, [shouldCount, progressValue]);
, а затем просто передайте setShouldCount count с true / false событию onPress.
EDIT: также я забыл поставить массив значений в качестве второго аргумента для useEffect, это сделано для предотвращения повторного рендеринга компонента, если значения не изменились.