const [linkResult, setLinkResult] = useState<{
loading: boolean
errorMessage?: string | null
errorType?: string | null
}>({ loading: true })
const { open, ready, error } = usePlaidLink({token: undefined, ...})
if (ready) open()
if (error) return <Err500/> // always null
if (linkResult.loading) return <Spinner/> // showing this forever