До сих пор я с большим успехом использовал nextJS и material-ui.
Однако в последнее время я сталкиваюсь с концептуальной проблемой:
Всякий раз, когда приложение отображается на сервере, я не хочу егодля перекомпоновки, как только он прибудет на клиент.
Поскольку я по-разному отображаю макет между настольным компьютером и мобильным устройством, я разделяю компоненты с помощью компонента <Hidden implementation='css'/>
.Я использую implementation=css
, потому что я не могу полагаться на ширину окна, поскольку она не будет доступна на сервере.
Моя главная проблема сегодня заключается в том, что и настольная, и мобильная версия отображаются, даже еслиправильный выводится на экран, это приводит к ненужному выполнению логики (особенно вызовы API).
Я думаю, что сделал что-то не так, но не знаю, как это исправить.
"Идеальным" способом было бытакой компонент, как <Hidden/>
, но вместо того, чтобы просто скрыть уже отрендеренный компонент, он просто не будет его отображать вообще ... и я не могу использовать window.innerWidth
, конечно, так как мне небезразличен SSR ...
Если у кого-то есть идея, я был бы признателен.