Skip to content

[Dropdown, Combobox, etc.] Ошибка гидрации в мобильном симуляторе #3271

@kostaskriaridis

Description

@kostaskriaridis

Опишите ошибку
Ошибка при гидрации в мобильном симуляторе:

Warning: Expected server HTML to contain a matching <div> in <span>
Uncaught Error: Hydration failed because the initial UI does not match what was rendered on the server

Чтобы воспроизвести
Шаги для воспроизведения поведения:

  1. Склонировать репозиторий
  2. Установить зависимости npm install
  3. Запустить проект npm run dev
  4. В инспекторе выбрать любой мобильный симулятор
  5. Перезагрузить страницу
  6. См. ошибку

Ожидаемое поведение
Гидрация происходит без ошибки

Скриншоты
Ошибка в мобильном симуляторе
Снимок экрана 2023-09-19 в 09 27 00

Ошибки в десктопной версии нету
Снимок экрана 2023-09-19 в 09 27 12

Укажите версию библиотеки и других пакетов:

Параметры компьютера:

  • ОС: Mac OS Big Sur 11.7
  • Браузер: Google Chrome
  • Версия: 116.0.5845.110

Дополнительный контекст
Ошибка происходит в связке с nextjs (см. репозиторий)

**Ошибка с выключенным mobileMediaQuery:
Если выключить mobileMediaQuery:

'use client';

import { THEME_2022, ThemeContext, ThemeFactory } from '@skbkontur/react-ui';

const theme = ThemeFactory.create({ mobileMediaQuery: 'not all' }, THEME_2022);

export default function ThemeProvider({ children }: { children: JSX.Element }) {
  return <ThemeContext.Provider value={theme}>{children}</ThemeContext.Provider>;
}

То в мобильной версии происходит следующая ошибка:

Warning: Prop `className` did not match. Server: "react-ui-k7wtko" Client: "react-ui-1l1c0tc"

В заключение
Друзья, спасибо большое, что разрабатываете и поддерживаете эту замечательную библиотеку компонентов 🙏

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions