на секунду отображается язык браузера, потом сразу переключается на язык который был ранее был сохранён в localStorage. как сделать так чтобы сразу загружался язык который в ls, а если его нет, то загружался язык браузера? исправил useEffect в app, но эффекта это не принесло(
Инициализировать контекс синхронным чтение со storage.
Ну уж точно не в useEffect это делать
чёт не врубаю, можешь перефразировать?
меня сейчас тапками за такое закидают но useEffect вьіполняєтся после рендера, а получить подобное значениє бьілобьі полезно по время рендера а єто можно сделать с помощью useMemo, или чегото еще что будет вьполнятся во врема или до рендера
Если хочешь сделать так, то в компонент ставь лоадер. А в useEffect в конце лоадер меняй на сам контент
Попробую useLayoutEffect
Через uselayouteffect разве не подойдёт?
Нет. Все равно твоя страница опрендерится сначала неправильно. Просто потом сразу, ничего не дожидаясь ещё раз обновиться
Обновление стейта при использовании useLayoutEffect происходит до внесения изменений в dom
Рендер будет 2 раза, но dom обновится один раз с конечными данными
оно срабатьівает между рендером и перерисовкой браузером, незнаю
В этом, собственно, и суть этого хука…
Рендер в раекте и в браузере - это разные процессы. И иногда независимые
Слушай. Скажи, плиз, версию реакта
да это next.js 13)
Ааа. Тогда ладно
подтвержаю, не работает
Ну значит где-то в другом месте проблема, что тут ещё сказать 🤷♂
У тебя Некст?
Скинь, где ты инициализируешь i18
Попробуй locale Detection выставить false для начала
тоже самое по сути. только теперь на секунду отображается дефолтный язык вместо языка браузера
Сделай пути как в доке
Или по доменам разноси. И роботы поисковикр скажут спасибо
по доменам дорого наверно будет))
кстати а если вьітянуть значение из локал стореджа и передать его пропсом в апликушку? или єто уже зашквар?
не понял ход твоей мысли. зачем пропсом передавать если я его достаю с помощью getItem?
ну так достать его из вне апликушки и ечли єто значение конкретно уже извесно рендерить аплинукшу
Обсуждают сегодня