rsnext/test/integration/client-navigation/pages/link-invalid-onclick.js
Tim Neutkens f260328900
BREAKING CHANGE: Enable newNextLinkBehavior (#41459)
- Enable newNextLinkBehavior. See #36436 
- Run next/link codemod on test suite

Note that from when this lands on apps trying canary will need to run
the new-link codemod in order to upgrade.
Ideally we have to detect `<a>` while rendering the new link and warn
for it.

Co-authored-by: Steven <steven@ceriously.com>
2022-10-17 21:20:28 -04:00

35 lines
678 B
JavaScript

import Link from 'next/link'
import { useState } from 'react'
export default function Page(props) {
const [errorCount, setErrorCount] = useState(0)
function Button(props) {
return (
<a
id="custom-button"
href={props.href}
onClick={(e) => {
e.preventDefault()
try {
props.onClick()
} catch (err) {
setErrorCount(errorCount + 1)
console.error(err)
}
}}
>
{props.href}
</a>
)
}
return (
<>
<p id="errors">{errorCount}</p>
<Link href="/nav" passHref legacyBehavior>
<Button />
</Link>
</>
)
}