Size: a a a

React — русскоговорящее сообщество

2020 September 25

BA

Bogdan Aleksandrovic... in React — русскоговорящее сообщество
а что мешает ходить в туалет вниз головой?
источник

DA

David Arutiunian in React — русскоговорящее сообщество
?
источник

DC

Defina Corporation in React — русскоговорящее сообщество
David Arutiunian
Вы не поняли)
Я храню выбор I18n в sessionStorage()
Стейт запоминает выбор пользователя и передаёт значение в обёртку, таким образом я оборачиваю любой компонент в эту обёртку и применяю смену языка ко всему лэйауту.
источник

Э

Эльдар in React — русскоговорящее сообщество
после того как получил объект с помощью useSelector, как его скопировать чтобы избежать мутаций при работе с ним?
источник

WH

Working Hard in React — русскоговорящее сообщество
Просто сделай 2 функции
источник

DA

David Arutiunian in React — русскоговорящее сообщество
Defina Corporation
Я храню выбор I18n в sessionStorage()
Стейт запоминает выбор пользователя и передаёт значение в обёртку, таким образом я оборачиваю любой компонент в эту обёртку и применяю смену языка ко всему лэйауту.
То, что я описывал я делаю ради оптимизации
Иногда дорого на каждый рендер (или memo) создавать громадные массивы объектов (например если опшенов много(
источник

DC

Defina Corporation in React — русскоговорящее сообщество
function whoCalled() {
  if (whoCalled.caller == null)
     console.log('Меня вызвали из глобальной области видимости.');
  else
     console.log(whoCalled.caller + ' вызвал меня!');
}

whoCalled.caller  <- это в стэйт
И вешаем событие на компонент для вызова или мутации стэйта.
источник

DA

David Arutiunian in React — русскоговорящее сообщество
В strict режиме нельзя использлвать caller
источник

DA

David Arutiunian in React — русскоговорящее сообщество
Working Hard
Просто сделай 2 функции
Эт не красиво)
источник

DA

David Arutiunian in React — русскоговорящее сообщество
DRY же
источник

WH

Working Hard in React — русскоговорящее сообщество
David Arutiunian
Эт не красиво)
Мне такой подход нравится больше, все равно пользователь будет знать где он использует функцию
источник

DA

David Arutiunian in React — русскоговорящее сообщество
На вкус и цвет
источник

BA

Bogdan Aleksandrovic... in React — русскоговорящее сообщество
David Arutiunian
Дак хук это же просто функция, ничто не мешает вызвать вне компонента его
если ты переводишь в приложении на клиенте, юзаешь хук, берешь функцию, на сервере, у i18 есть инстанс, оттуда берешь и юзаешь в классе своем или где то там, полный бред вызывать хук вне компонента, если я про хук так понял
источник

E

Evgen in React — русскоговорящее сообщество
Не всегда оправдан, пример таже денормализация бд
источник

DC

Defina Corporation in React — русскоговорящее сообщество
David Arutiunian
То, что я описывал я делаю ради оптимизации
Иногда дорого на каждый рендер (или memo) создавать громадные массивы объектов (например если опшенов много(
Храните ключ = значение хоть где, в json в graphQL - вам по сути надо просто менять что-то одно, а не кучу параметров, по классике это путь к файлу с переводом.
/lang/ru/index.js
/lang/en/index.js
lang/ee/index.js

И так далее, вам нужно менять только то что отличается в пути.
источник

DA

David Arutiunian in React — русскоговорящее сообщество
Evgen
Не всегда оправдан, пример таже денормализация бд
Ну я же не про БД)
источник

DA

David Arutiunian in React — русскоговорящее сообщество
Та я знаю как i18n работает)
Чё началось то)
источник

E

Evgen in React — русскоговорящее сообщество
David Arutiunian
Ну я же не про БД)
Ну я же про то, что иногда можно и нарушить принцип DRY
источник

DA

David Arutiunian in React — русскоговорящее сообщество
Я просто спросил про внутренности устройства js, мб кто сталкивался с таким
источник

DA

David Arutiunian in React — русскоговорящее сообщество
Это как рефлексия
источник