Today, I joined a discussion on the Remix Discord about how to block a Link
component when a certain condition is true.
A simple solution is to use a ternary to render either the Link
or a disabled button styled to look identical. You can abstract it into a reusable component. I've used this pattern at Seasoned many times 😁
{disabled ? (
<button
className="bt bt-blue" // add the disabled appearance as needed
disabled={disabled}
>
<CheckIcon /> Go!
</button>
) : (
<Link
to={`....`}
className="bt bt-blue"
preventScrollReset
>
<CheckIcon /> Go!
</Link>
)
}
Enjoy!
Top comments (0)