i18next-hmr.ts 563 B

1234567891011121314151617181920212223242526
  1. import { useEffect } from 'react';
  2. import { isServer } from '@growi/core/dist/utils';
  3. import { useTranslation } from 'next-i18next';
  4. export const useI18nextHMR = (isDev: boolean): void => {
  5. const { i18n } = useTranslation();
  6. useEffect(() => {
  7. if (isDev) {
  8. import('i18next-hmr/client').then(({ applyClientHMR }) => {
  9. applyClientHMR(i18n);
  10. });
  11. }
  12. }, [i18n, isDev]);
  13. if (!isDev) {
  14. return;
  15. }
  16. if ((isServer())) {
  17. import('i18next-hmr/server').then(({ applyServerHMR }) => {
  18. applyServerHMR(i18n);
  19. });
  20. }
  21. };