Fix @reach/auto-id issue by removing the dependency#1484
Conversation
|
Oh my god, I spent several days in preparatory work to fix |
|
👋 @dartess thanks for writing here! Not sure I understand - did you commit to I would love to use that package for react-day-picker – maybe with your update this will be fixed? Do you have a link to your work? |
|
@gpbl I just planned to do it. So, I first set up the tests: reach/reach-ui#959 If this is still relevant for your package, I may try continue this (It seems like it's not really needed). Since we're talking about it here, you said this:
Can you elaborate on what you mean? I'll try to keep that in mind. |
Context
We use the good @reach/auto-id package for assigning a unique id to the month captions. This package is creating warnings with DayPicker and React 18 (e.g. #1478), and with React 17 (reach/reach-ui#921).
Analysis
The source of the package includes some clever code to support both React 17 and the native's
useIdfrom React 18. However, it doesn't play well in the context of a redistributed package like DayPicker.Solution
I copied in
srctheuseIdsource code. Skipped the lines of code that would use React 18'suseId.With this, DayPicker will fallback to the
useEffectsolution – even on React 18. We hopefully will find a better solution in the future.Discarded options:
auto-id. Doesn't seem a much better solution at the burden of maintaining an extra dependency