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

Привет. кто-нибудь сталкивался с такой проблемой? i18n, когда приложение загружается,

на секунду отображается язык браузера, потом сразу переключается на язык который был ранее был сохранён в localStorage. как сделать так чтобы сразу загружался язык который в ls, а если его нет, то загружался язык браузера? исправил useEffect в app, но эффекта это не принесло(

30 ответов

15 просмотров

Инициализировать контекс синхронным чтение со storage.

Pavel-Vladimirov Автор вопроса

меня сейчас тапками за такое закидают но useEffect вьіполняєтся после рендера, а получить подобное значениє бьілобьі полезно по время рендера а єто можно сделать с помощью useMemo, или чегото еще что будет вьполнятся во врема или до рендера

Pavel Vladimirov
чёт не врубаю, можешь перефразировать?

Если хочешь сделать так, то в компонент ставь лоадер. А в useEffect в конце лоадер меняй на сам контент

Попробую useLayoutEffect

Alexandr
Попробую useLayoutEffect

Нет. Все равно твоя страница опрендерится сначала неправильно. Просто потом сразу, ничего не дожидаясь ещё раз обновиться

Kostya Vidiakin
Нет. Все равно твоя страница опрендерится сначала ...

Обновление стейта при использовании useLayoutEffect происходит до внесения изменений в dom

Alexandr
Обновление стейта при использовании useLayoutEffec...

Рендер будет 2 раза, но dom обновится один раз с конечными данными

Михаил Ионцев
Через uselayouteffect разве не подойдёт?

оно срабатьівает между рендером и перерисовкой браузером, незнаю

Alexandr
Рендер будет 2 раза, но dom обновится один раз с к...

В этом, собственно, и суть этого хука…

Іван Вітюк
оно срабатьівает между рендером и перерисовкой бра...

Рендер в раекте и в браузере - это разные процессы. И иногда независимые

Слушай. Скажи, плиз, версию реакта

Pavel-Vladimirov Автор вопроса

подтвержаю, не работает

Pavel Vladimirov
подтвержаю, не работает

Ну значит где-то в другом месте проблема, что тут ещё сказать 🤷‍♂

Pavel-Vladimirov Автор вопроса
Pavel Vladimirov
подтвержаю, не работает

Скинь, где ты инициализируешь i18

Попробуй locale Detection выставить false для начала

Pavel-Vladimirov Автор вопроса
Kostya Vidiakin
Попробуй locale Detection выставить false для нача...

тоже самое по сути. только теперь на секунду отображается дефолтный язык вместо языка браузера

Kostya Vidiakin
Сделай пути как в доке

Или по доменам разноси. И роботы поисковикр скажут спасибо

Pavel-Vladimirov Автор вопроса

кстати а если вьітянуть значение из локал стореджа и передать его пропсом в апликушку? или єто уже зашквар?

Pavel-Vladimirov Автор вопроса
Іван Вітюк
кстати а если вьітянуть значение из локал стореджа...

не понял ход твоей мысли. зачем пропсом передавать если я его достаю с помощью getItem?

Pavel Vladimirov
не понял ход твоей мысли. зачем пропсом передавать...

ну так достать его из вне апликушки и ечли єто значение конкретно уже извесно рендерить аплинукшу

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

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

Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
лучше скажите, причём тут паскаль?
Alexey Kulakov
36
Чтобы перехватить все нажимания буков на форме, надо хук ставить? Пробовал на форме ОнКейДаун, оно ловит клаву если фокус не на компоненте с вводом текста
Serjone
15
Народ! Впервые клиенту пришло письмо от РКН, у вас, дескать, есть яндекс метрика, а нигде не написано, что вы ее юзаете. Никто не сталкивался?
Sasha Beep
14
Всем привет! вывожу на общей стр дочерние ресурсыв каждом ресурсе галерея, и первая фотка должна выводиться на общей [!DocLister? &prepare=photo !]
Alekso
12
А можно вопрос? Мне сегодня сказали что у меня функция (которая просто заполняет массив значениями) не правильная void Full(double * arr, int n) { for (int i = 0; i < n; i...
† C E †
7
День добрый, подскажите пожалуйста, есть ли какой-то способ сказать ребару не компилировать определённое приложение? Всю доку их перечиатл ничего подобного не нашёл
Кирилл
14
Добрый вечер. Хочу чтобы у меня в классе поле было функцией, которая возвращает строку. Делаю так: interface ... TGetOutPath = function : String of object; ... protec...
Kirill Filippenok
12
Здравствуйте, хочу сделать HelloWorld в консоли Дельфи, но функция API ничего не выводит, что я делаю не так? program Hello; {$APPTYPE CONSOLE} uses System.SysUtils, WinAPI.Wi...
Sergey Vinogradov
20
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
Карта сайта