Red[$]hort
ты просто оборачиваешь в контейнер любой компонент, который хочет подписаться, и все, ты и слои разделил, и ререндеров нет
я про подход при котором контейнер может быть подписан на 20+ пропов в стейте и прокидывает все в child компоненты. Вроде даже если проп в child не прокинуть, то в нем все равно будет вызываться рендер
🦜
терминалов?
Миникомп с тач экраном
Oleg
Тип, чтоб лишний конект не писать?
Red[$]hort
контейнер должен быть подписан ровно на те, которые нужны в чайлде, хуле. зачем ему лишние?
есть подход подписочных контейнеров и тупых child, которые только глотают пропы и не имеют своих подписок. и есть подход при котором любой компонент могут подписать на стейт, во втором случае сложнее дебажить
Дима
Дима
программирование — это не сложно, когда вовремя избавляешься от костылей
Red[$]hort
Тип, чтоб лишний конект не писать?
нет, чтобы дебажить было проще, но мне самому такой подход не особо заходит)
Mike
есть подход подписочных контейнеров и тупых child, которые только глотают пропы и не имеют своих подписок. и есть подход при котором любой компонент могут подписать на стейт, во втором случае сложнее дебажить
да, именно так. контейнер подписан на стейт, контейнер создается для любого компонента в дереве, просто обертка подписывающаяся на стейт и скармливающая компоненту нужные ему пропсы. в чем проблема? пропсы у него те же только подписаны, слой данных и слой вью разделен, дебажить удобно
Oleg
Только лишний рендер.
Red[$]hort
А чем именно проще?
у тебя в цепочке чайлдов например коннекты могут повторяться, если будет большая вложенность
Red[$]hort
у тебя в цепочке чайлдов например коннекты могут повторяться, если будет большая вложенность
иногда сложно переоценить творчерство джуниор-программистов и дебажить после них
Oleg
Вот сейчас обидно было.
🦜
Хуярьте Коннект везде на перформанс не влияет. Статья есть
Oleg
О, круто.
Anonymous
Всем привет, каким образом вы меняете lang атрибут в CRA?
Anonymous
lang =
при смене языка на сайте
Oleg
Нифига задачка. Ну по логике в глобальном сторе надо хранить, а компоненты в зависимости от неё выдают разные строки.
Oleg
Но это скорее мысли вслух. Наверняка можно как-то по-умному.
Igor
При смене языка просто перезагрузи страницу
Eugene
или сделай ssr🌚
Anonymous
Igor
ух
Eugene
можно еще hemlet - но это вроде получится другое
Oleg
При смене языка просто перезагрузи страницу
И она перезагрузится с дефолтным языком.
Oleg
А хотя можно в стор записывать.
Anonymous
А если написать ванильный скрипт в начале, и засунуть его после отрытия html тега
Eugene
А если написать ванильный скрипт в начале, и засунуть его после отрытия html тега
оно как бы будет после рендера, какой тогда от этого толк
Oleg
всё в твоих руках
В моих руках шоколадка.
Eugene
https://github.com/nfl/react-helmet
Igor
Попытки смены языка без перезагрузки страницы — бесполезные телодвижения
Oleg
Попытки смены языка без перезагрузки страницы — бесполезные телодвижения
Почему? Компонент же должен просто другую строку отобразить.
Igor
А откуда эта строка возьмётся?
Anonymous
Ну логично принципе, браузер ведь уже прочитал дерево
Oleg
Igor
То есть все переводы сразу грузить?
Александр
Почему? Компонент же должен просто другую строку отобразить.
Ну есть ещё локализациям дат, чисел, валют... но это не препятствие вроде
Igor
Они много весят?
зависит от того, что пишешь
Mikhail
То есть все переводы сразу грузить?
у меня в приложении переводы грузятся по требованию, значение языка зранится в сторе, в выпадашке юзер выбирает язык - все строки на экране перерендериваются с новым языком
Igor
Ну есть ещё локализациям дат, чисел, валют... но это не препятствие вроде
есть ещё запросы на сервер, которые ушли, например, с lang=ru — всё нужно заново запросить, так?
Dmitriy
административка?
с конфискацией и выдворением
Igor
Ушли и не вернулись?
да, или статус 300 пришёл, например
Igor
примерно да
Oleg
Хз, короче. Надо погуглить.
Igor
Количество проблем при реализации быстро начнёт перевешивать профит
Igor
(которого нет)
Eugene
от задачи зависит, можно сразу все грузить и по выплывашки везде менять язык👀
Александр
Eugene
Возможно вопрос не правильно был поставлен, именно про lang= тег
Oleg
Пусть сервер строки отдаёт?
Igor
моё решение начинается с того, что при изменении языка просто перезугружается страница и отдаётся всё что нужно
Red[$]hort
на конфе какой-то чувак рассказывал что react-helmet не работает во многих кейсах и какой-то пакет с meta в названии юзал)
Igor
никто не переключает языки
Igor
это единичная операция
Igor
тратить время на это не надо вообще
🦜
Берешь охапку дров
🦜
i18n готов
Igor
давай ссылку где делал
Igor
что за проект?