import React, { AnchorHTMLAttributes, MouseEvent, useContext } from 'react'; import { RouterContext } from './Router'; type LinkProps = { to: string; } & AnchorHTMLAttributes; /** * This is responsible for converting clicks on links into History Push events */ export const Link: React.FC = (props) => { const { push } = useContext(RouterContext); const { to, ...rest } = props; const onClick = (e: MouseEvent) => { e.preventDefault(); if (to[0] !== '/') { console.error('paths must begin with a `/`'); } else { push(to); } }; return ( {props.children} ); };