A wrapper aroundReact.forwardRef()
that allows HTML attributes and prop types to be inferred from anas
prop.
npm i forward-ref-as
import forwardRefAs from 'forward-ref-as'
// Forwards `ref` to the underlying button and adds strong
// types for the `as` prop.
const Button = forwardRefAs<'button', ButtonProps>(
({as: As = 'button', ...props}, ref) => <As ref={ref} {...props} />
)
// ✅ Will pass type checking and autocomplete correctly
;<Button as='a' href='https://jaredLunde.com' />
A wrapper around React.forwardRef()
with the same call signature, but
a type signature that allows as
prop HTML attributes and React prop types
to be inferred.
MIT