Pull to refresh
7
0
Антон Непомнящих @anton_nix

User

Send message

Как сделать из императивного компонента — декларативный React-компонент

Level of difficultyEasy
Reading time8 min
Views4.1K

Иногда в своё React-приложение нужно встроить сторонний компонент, который не работает с React и часто оказывается императивным.

Такой компонент приходится каждый раз инициализировать, уничтожать и, главное, проверять его состояние, прежде чем вызывать его методы.

Верным признаком того, что компонент нужно обернуть в декларативный компонент является обилие useEffect-ов, где проверяются разные сочетания параметров компонента. И в зависимости от этих сочетаний вызываются соответствующие методы компонента.

В статье я хочу разобрать по шагам, как превратить такой компонент в декларативный React-компонент.

Вперёд, какие там шаги?
Total votes 5: ↑5 and ↓0+5
Comments10

Работа с часовыми поясами без библиотек

Level of difficultyMedium
Reading time13 min
Views2.5K

Итак, настал тот moment, когда вам нужно работать с датами в разных часовых поясах (Новый год же!), а ваш архитектор/начальник не разрешает использовать Moment Timezone или Luxon, потому что они увеличат размер вашей сборки, а для вашего проекта важно, чтобы UI грузился быстро. Или потому что вы делаете небольшую задачу, и непонятно пока, будет ли расширение работы с часовыми поясами.

Поэтому и основной сценарий будет тоже UI: когда с бэкенда приходит таймстэмп, (см. определение ниже) и нужно работать с ним в разных часовых поясах. Обратное преобразование, когда по местному времени и часовому поясу, наоборот, нужно получить таймстэмп, я рассмотрю очень коротко.

Кто виноват и что делать?
Total votes 7: ↑7 and ↓0+7
Comments2

Typescript: принцип подстановки функций

Level of difficultyMedium
Reading time5 min
Views7.1K

По аналогии с принципом LSP из ООП, при работе с функциями в Typescript стоит придерживаться следующего принципа:

Принимая колбэк с меньшим числом аргументов, оборачивайте его, прежде, чем передавать его далее в качестве колбэка с большим числом аргументов.

Почему это так?
Total votes 5: ↑5 and ↓0+5
Comments7

Information

Rating
Does not participate
Location
Россия
Registered
Activity

Specialization

Program Manager