169 похожих чатов

Есть хук типа такого https://usehooks.com/useWindowSize/ Я могу при начальной инициализации windowSize

написать window.innerWidth?

const [windowSize, setwindowsize] = useState({
width: window.innerWidth,
height: window.innerHeight
})

Можно ли так делать?

15 ответов

22 просмотра

// Call handler right away so state gets updated with initial window size Если прочесть комментарии и код. На клиенте да, там window есть.

Если у тебя нет ssr, то можно

На нексте, кстати, проще, там есть <Head />

Что?

Переопределить что-либо

rnamod1- Автор вопроса

У меня некст, кста

Ты о чём?

А, соррян )))

Значит взорвется

import Head ftom 'next/head, вроде. В нем можно стили переопределять. Либо withStyles. Но наверняка следует в ещё один провайдер с кастомной темой оборачивать, но это долго.

rnamod1- Автор вопроса

У меня Next js Проблема в том, что сразу при загрузке, кажется, неправильно определяет размер. Хотя локально с дебаггером вроде все ок, но сервере начинаются проблемы. Отображение части контента завязана на размер окна, но при загрузке на мгновение показывается нежелательный контент

потому что твоя страница рендерится на сервере. какая ширина окна у сервера?

rnamod1- Автор вопроса

Спасибо. Вижу два варианта решения проблемы: 1. Брать этим хуком размер окна и пока windowSize.width === undefined делать return null 2. Не брать хуком размер окна и полагаться на css. Что думаешь?

Второе предпочтительнее, но зависит от ситуации. Если можно было решить проблему через css, то зачем ты вообще взялся за js?

rnamod1- Автор вопроса

В моем случае нельзя решить с помощью css(

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
5
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта