import { FunctionalComponent, h } from 'preact'; import { useEffect, useState } from 'preact/hooks'; import style from './style.css'; interface Props { user: string; } const Profile: FunctionalComponent = (props: Props) => { const { user } = props; const [time, setTime] = useState(Date.now()); const [count, setCount] = useState(0); // gets called when this route is navigated to useEffect(() => { const timer = window.setInterval(() => setTime(Date.now()), 1000); // gets called just before navigating away from the route return (): void => { clearInterval(timer); }; }, []); // update the current time const increment = (): void => { setCount(count + 1); }; return (

Profile: {user}

This is the user profile for a user named {user}.

Current time: {new Date(time).toLocaleString()}

Clicked {count}{' '} times.

); }; export default Profile;