react-spectrum icon indicating copy to clipboard operation
react-spectrum copied to clipboard

Support use of external links when using `useHref` in `RouterProvider`

Open Niznikr opened this issue 1 year ago โ€ข 0 comments

Provide a general summary of the feature here

The enhancements from #5864 have been great to support features we use from React Router. We are running into an issue though with the fact that when passing useHref to RouterProvider we lose the ability to use external links as all RAC href values get passed to useHref. It would be convenient to have a way to opt-out of useHref or detect an external link so both kinds can exist in an app.

๐Ÿค” Expected Behavior?

Set useHref in RouterProvider with React Router's version. There is a way to pass https://www.google.com to a RAC href prop and opt-out of passing it to useHref so that the final value is https://www.google.com.

๐Ÿ˜ฏ Current Behavior

Set useHref in RouterProvider with React Router's version. Passing https://www.google.com to a RAC href prop results in [current_url]/https://www.google.com.

๐Ÿ’ Possible Solution

Add an optional prop for RAC where href and routerOptions are available to opt-out of passing it through useHref or detect an external link similar to how RR does this https://github.com/remix-run/react-router/blob/main/packages/react-router-dom/index.tsx#L958-L982

๐Ÿ”ฆ Context

I want RAC links to support both client-side routing and external links simultaneously when using useHref in RouterProvider.

๐Ÿ’ป Examples

No response

๐Ÿงข Your Company/Team

No response

๐Ÿ•ท Tracking Issue

No response

Niznikr avatar May 16 '24 15:05 Niznikr