I am unsure whether I am doing something wrong or if some improvements could be made. I am using I18Provider with an explicitly set locale already determined by the server as it is described in the documentation.
As soon as I add useLocale to the component I can see an additional render, and here is where my confusion is. Why this rerender is happening?
π€ Expected Behavior?
In my opinion, there should not be any additional re-render to the components that are using useLocale and there is a specified language already.
π― Current Behavior
It causes rerender when using SSR. Possibly because the useDefaultLocale is using useIsSSR hook.
Provide a general summary of the issue here
I am unsure whether I am doing something wrong or if some improvements could be made. I am using I18Provider with an explicitly set locale already determined by the server as it is described in the documentation.
As soon as I add useLocale to the component I can see an additional render, and here is where my confusion is. Why this rerender is happening?
π€ Expected Behavior?
In my opinion, there should not be any additional re-render to the components that are using useLocale and there is a specified language already.
π― Current Behavior
It causes rerender when using SSR. Possibly because the useDefaultLocale is using useIsSSR hook.
π Possible Solution
I think we should just skip the execution of this hook https://github.com/adobe/react-spectrum/blob/main/packages/%40react-aria/i18n/src/context.tsx#L31 if the locale is already provided. Otherwise, it still connects to the SSR Provider and triggers rerender.
π¦ Context
No response
π₯οΈ Steps to Reproduce
Very basic example: https://stackblitz.com/edit/stackblitz-starters-rxc7ky?file=app%2Fpage.tsx
Version
1.4.1 (react-spectrum-components)
What browsers are you seeing the problem on?
Firefox, Chrome, Safari, Microsoft Edge
If other, please specify.
No response
What operating system are you using?
Any
π§’ Your Company/Team
No response
π· Tracking Issue
No response